Docker Compose是一个用来定义和运行复杂应用的Docker工具。一个使用Docker容器的应用,通常由多个容器组成。使用Docker Compose不再需要使用shell脚本来启动容器。通过一个配置文件来管理多个Docker容器,在配置文件中,所有的容器通过services来定义,然后使用docker-compose脚本来启动,停止和重启应用,和应用中的服务以及所有依赖服务的容器,本文主要介绍Docker 使用docker-compose构建WordPress博客。

1、安装Docker

参考文档:

安装Docker

Docker 入门教程

2、安装 docker-compose

参考文档:安装Docker Compose

3、使用docker-compose.yml创建运行WordPress

1)创建my_wordpress目录

mkdir my_wordpress
cd my_wordpress/

2)创建配置文件docker-compose.yml

docker-compose.yml:

version: "3.9"
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
    volumes:
      - wordpress_data:/var/www/html
    ports:
      - "8000:80"
    restart: always
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: wordpress
      WORDPRESS_DB_NAME: wordpress
volumes:
  db_data: {}
  wordpress_data: {}

3)创建运行所有依赖的容器

docker-compose up -d

注意:WordPress Multisite 仅适用于端口80和/或443. 如果收到有关绑定0.0.0.0到端口80443 (取决于指定的端口)的错误消息,则为 WordPress 配置的端口可能已被其他服务使用。

4)在web浏览器中打开WordPress

WordPress应该运行在Docker主机的8000端口上,使用浏览器直接访问即可。

注意:WordPress站点不能立即在端口8000上可用,因为容器仍在初始化中,可能需要几分钟才能第一次加载。

如果是使用Docker Desktop (Mac)或Docker Desktop (Windows),可以使用http://localhost作为IP地址,并在浏览器中打开http://localhost:8000

5)关闭和清理

docker-compose down命令删除了容器和默认网络,保留WordPress数据库。

docker-compose down --volumes命令删除容器、默认网络和WordPress数据库。

推荐文档