用docker-compose.yml建立WordPress
首先
开头先
因为在搜索中找不到版本2的docker-compose.yml文件,所以我制作了一个。
请使用docker >= 1.10和docker-compose >= 1.6进行尝试。
搭建一个全新的WordPress网站
version: "2"
services:
wordpress:
image: wordpress:latest
ports:
- "80:80"
depends_on:
- db
environment:
WORDPRESS_DB_HOST: "db:3306"
networks:
- flat-network
env_file: .env
db:
image: mysql:5.7
volumes:
- "db-data:/var/lib/mysql"
networks:
- flat-network
env_file: .env
volumes:
db-data:
networks:
flat-network:
我們現在將密碼等資訊從另一個文件中讀取。
WORDPRESS_DB_NAME=wordpress
WORDPRESS_DB_USER=wp_user
WORDPRESS_DB_PASSWORD=hogehoge
MYSQL_RANDOM_ROOT_PASSWORD=yes
MYSQL_DATABASE=wordpress
MYSQL_USER=wp_user
MYSQL_PASSWORD=hogehoge
放置这两个文件后,通过执行以下命令即可到达WordPress的安装界面。
docker-compose up
真简单啊!
搭建已安装的WordPress。
假设已经有一个名为install_wordpress.sql的文件,里面保存了WordPress的数据。在db的volumes第二行中,指定了容器创建时要执行的SQL文件。
version: "2"
services:
wordpress:
image: wordpress:latest
ports:
- "80:80"
depends_on:
- db
environment:
WORDPRESS_DB_HOST: "db:3306"
networks:
- flat-network
env_file: .env
db:
image: mysql:5.7
volumes:
- "db-data:/var/lib/mysql"
- "./install_wordpress.sql:/docker-entrypoint-initdb.d/install_wordpress.sql"
networks:
- flat-network
env_file: .env
volumes:
db-data:
networks:
flat-network:
提示
MySQL容器的mysqldump
順便提一下,如果要从正在运行中的MySQL容器中取得一个dump文件,可以按照这个方式进行。
docker exec -it MySQLコンテナID sh -c 'mysqldump wordpress -u wp_user -pXXXXXXXX 2> /dev/null' > install_wordpress.sql
关于删除容器
docker-compose down
由于即使作为删除,卷仍然保持数据的永久性,因此在删除时也需要包括卷。
docker-compose down -v
那么最好就这么做。