目录

使用-Compose-部署-WordPress

使用 Compose 部署 WordPress

查看版本


[root@host1 ~]# docker compose version 
Docker Compose version v2.39.2

1.定义 Compose 项目

1.创建一个空的项目目录


[root@host1 ~]# mkdir mywordpress

2.将当前工作目录切换到该项目目录


[root@host1 ~]# cd mywordpress

3.在该项目目录下创建并编辑 compose.yaml 文件,在该文件中加入以下内容


[root@host1 mywordpress]# vi compose.yaml
[root@host1 mywordpress]# cat compose.yaml
services:
  db:
    # 使用支持多架构(AMD64/ARM64)的MariaDB镜像(官方10.6版本默认支持多架构)
    image: mariadb:10.6
    command: --default-authentication-plugin=mysql_native_password  # 修正拼写错误(nysql→mysql,移除多余空格)
    volumes:
      - db_data:/var/lib/mysql  # 数据持久化卷
    restart: always
    environment:
      - MYSQL_ROOT_PASSWORD=somewordpress  # 根密码
      - MYSQL_DATABASE=wordpress          # 数据库名(修正变量名:MYSQL DATABASE→MYSQL_DATABASE)
      - MYSQL_USER=wordpress              # 数据库用户
      - MYSQL_PASSWORD=wordpress          # 数据库密码
    expose:
      - 3306         # 内部暴露MySQL端口
      - 33060        # MySQL X协议端口

  wordpress:
    image: wordpress:latest  # WordPress官方镜像默认支持多架构
    volumes:
      - wp_data:/var/www/html  # WordPress数据卷
    ports:
      - "80:80"  # 映射主机80端口到容器
    restart: always
    environment:
      - WORDPRESS_DB_HOST=db               # 数据库主机(关联db服务)
      - WORDPRESS_DB_USER=wordpress        # 数据库用户(修正变量名:WORDPRESS DB USER→WORDPRESS_DB_USER)
      - WORDPRESS_DB_PASSWORD=wordpress    # 数据库密码(修正变量名:WORDPRESS DB PASSWORD→WORDPRESS_DB_PASSWORD)
      - WORDPRESS_DB_NAME=wordpress        # 数据库名(修正变量名:WORDPRESS DB NAME→WORDPRESS_DB_NAME)
    depends_on:
      - db  # 确保db服务启动后再启动wordpress

# 定义持久化卷(修正语法:分号→冒号,空格→下划线)
volumes:
  db_data:  # 数据库数据卷
  wp_data:  # WordPress数据卷

2.启动 Compose 应用程序

1.拉取所需镜像


[root@host1 mywordpress]# docker compose up -d
[+] Running 34/34
 ✔ db Pulled                                                                                   67.9s 
   ✔ 60d98d907669 Already exists                                                                0.0s 
   ✔ 99d06c66f898 Pull complete                                                                40.5s 
   ✔ 06aef2ac3e47 Pull complete                                                                45.6s 
   ✔ 9a72f70121d1 Pull complete                                                                45.6s 
   ✔ fb759559ec7b Pull complete                                                                45.6s 
   ✔ e0a6013411a6 Pull complete                                                                58.5s 
   ✔ 9ed8599f8688 Pull complete                                                                58.5s 
   ✔ 03dc8529cdb2 Pull complete                                                                58.6s 
 ✔ wordpress Pulled                                                                            55.1s 
   ✔ ce1261c6d567 Already exists                                                                0.0s 
   ✔ 48ebd04f4983 Pull complete                                                                 1.7s 
   ✔ 70bb6b41f165 Pull complete                                                                31.0s 
   ✔ 945024922144 Pull complete                                                                31.0s 
   ✔ 2e432d6184b2 Pull complete                                                                32.0s 
   ✔ d4f032b51ed9 Pull complete                                                                32.1s 
   ✔ c4f07164d4bf Pull complete                                                                32.1s 
   ✔ 7ba7adab300a Pull complete                                                                32.2s 
   ✔ 08a8f3c4034a Pull complete                                                                32.3s 
   ✔ aecd45709115 Pull complete                                                                33.6s 
   ✔ 80da6eb38538 Pull complete                                                                33.6s 
   ✔ 5a7c38055062 Pull complete                                                                33.6s 
   ✔ 9dcc75070870 Pull complete                                                                33.6s 
   ✔ 1f8d884fef54 Pull complete                                                                33.6s 
   ✔ 4f4fb700ef54 Pull complete                                                                33.7s 
   ✔ 76e7319b3f26 Pull complete                                                                36.9s 
   ✔ 0d5f6489a7e1 Pull complete                                                                39.6s 
   ✔ e2fc6b9d8c26 Pull complete                                                                39.7s 
   ✔ ec3ac38d4884 Pull complete                                                                39.7s 
   ✔ a37f8c73e1ff Pull complete                                                                39.7s 
   ✔ a2c5d277e8a4 Pull complete                                                                45.7s 
   ✔ 94f8d528b6bd Pull complete                                                                45.8s 
   ✔ eecb8a58b0a6 Pull complete                                                                45.8s 
   ✔ 50b0f7808d2a Pull complete                                                                45.8s 
[+] Running 5/5
 ✔ Network mywordpress_default        Created                                                   0.1s 
 ✔ Volume "mywordpress_wp_data"       Created                                                   0.0s 
 ✔ Volume "mywordpress_db_data"       Created                                                   0.0s 
 ✔ Container mywordpress-db-1         Started                                                   1.3s 
 ✔ Container mywordpress-wordpress-1  Started                                                   1.5s

2.查看正在运行的容器


[root@host1 mywordpress]# docker ps
CONTAINER ID   IMAGE              COMMAND                   CREATED          STATUS             PORTS                                         NAMES
cf686ec2b69b   wordpress:latest   "docker-entrypoint.s…"   14 seconds ago   Up 12 seconds      0.0.0.0:80->80/tcp, [::]:80->80/tcp           mywordpress-wordpress-1
a707bad01058   mariadb:10.6       "docker-entrypoint.s…"   14 seconds ago   Up 13 seconds      3306/tcp, 33060/tcp                           mywordpress-db-1
0dbf7ea2178e   registry           "/entrypoint.sh /etc…"   6 days ago       Up About an hour   0.0.0.0:5000->5000/tcp, [::]:5000->5000/tcp   myregistry

3.查看当前容器网络


[root@host1 mywordpress]# docker network ls
NETWORK ID     NAME                  DRIVER    SCOPE
59a858d2efe2   bridge                bridge    local
4251d9be020b   host                  host      local
38a278c90b9a   mywordpress_default   bridge    local
ba96ad98e029   none                  null      local

4.查看当前卷


[root@host1 mywordpress]# docker volume ls
DRIVER    VOLUME NAME
local     myvol
local     mywordpress_db_data
local     mywordpress_wp_data

3.在 Web 浏览器中访问 WordPress 应用程序

https://i-blog.csdnimg.cn/direct/89aac427446a4964ada31c68e9039091.png

https://i-blog.csdnimg.cn/direct/f915bec3ff4147e294099b548fcd5299.png

https://i-blog.csdnimg.cn/direct/62af6186217f4532948fe4a47d547521.png

https://i-blog.csdnimg.cn/direct/d5dbe78e72844cf3810d5ac2f112091d.png

        至此就可以正常使用 WordPress 了

4.停止和清理 Compose 应用程序

        删除容器和默认网络


[root@host1 mywordpress]# docker compose down --volumes
[+] Running 5/5
 ✔ Container mywordpress-wordpress-1  Removed                                                   3.3s 
 ✔ Container mywordpress-db-1         Removed                                                   0.5s 
 ✔ Volume mywordpress_wp_data         Removed                                                   0.1s 
 ✔ Volume mywordpress_db_data         Removed                                                   0.2s 
 ✔ Network mywordpress_default        Removed                                                   0.2s