Docker 学习之路 – Compose + PHP(WordPress)

/ 0评 / 0

有了compose,传递mount各种参数的,就不用大费周章.而且一个compose可以由多个image组合,做复杂的事情.

有一个叫wordpress的docker,但是他没有数据库能力,还有一个叫mysql的docker,他没有wordpress的能力,但是wordpress一向都是mysql + web server.

在wordpress目录新建一个描述文件.(这里wordpress自身没产生数据为前提,比如附件是不行的,因为他不在数据库.)

version: "3"

services:

   db:

     image: mysql:5.7

     volumes:

       - db_data:/var/lib/mysql

     restart: always

     environment:

       MYSQL_ROOT_PASSWORD: somewordpress

       MYSQL_DATABASE: wordpress

       MYSQL_USER: wordpress

       MYSQL_PASSWORD: wordpress

   wordpress:

     depends_on:

       - db

     image: wordpress:latest

     ports:

       - "8000:80"

     restart: always

     environment:

       WORDPRESS_DB_HOST: db:3306

       WORDPRESS_DB_USER: wordpress

       WORDPRESS_DB_PASSWORD: wordpress

volumes:

    db_data:

然后进入去测试下.(会自动拉去相关包)

docker-compose up -d

最后访问8000端口就看得到博客了.

数据库信息是预置的.

这样就完成了啊.刚才还说到附件的事情,我们不妨测试下.

然后我们结束docker,删除,再启动它.(记得这个两个容器),然后果然图片不见了.

这个Docker的WordPress路径再哪里,我们进去看看.

所以要映射的volume路径应该是/var/www/html/wp-content/uploads,并且默认挂载是root权限的.

默认是root权限,就要我们自己设置一下.(一次配置重启不丢)

docker exec -i 3d38 /bin/bash -c "chown www-data:www-data /var/www/html/wp-content/uploads -R"

因为他同时写了这里的目录.

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注