用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_init.png

真简单啊!

搭建已安装的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

那么最好就这么做。

广告
将在 10 秒后关闭
bannerAds