容器化部署WordPress(docker-compose)
本文最后更新于179 天前,其中的信息可能已经过时,如有错误请发送邮件到pby_while@163.com

容器化部署WordPress(docker-compose)

环境准备:

  • Anolis OS release 8.2
  • docker
  • WordPress镜像
  • MySQL:8.0镜像

1、安装docker

## 安装yum-utils工具
[root@yun ~]# yum install yum-utils -y

## 安装docker.repo
[root@yun ~]# yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

## 安装docker-ce
[root@yun ~]# yum install docker-ce -y

##配置镜像加速器
[root@yun ~]# sudo tee /etc/docker/daemon.json <<-'EOF'
{
    "registry-mirrors": [
        "https://docker.m.daocloud.io",
        "https://docker.imgdb.de",
        "https://docker-0.unsee.tech",
        "https://docker.hlmirror.com",
        "https://docker.1ms.run"
    ],
    "data-root": "/etc/docker"
}
EOF

## 启动docker
[root@yun ~]# systemctl start docker && systemctl enable docker

## 查看docker版本
[root@yun ~]# docker --version

2、安装对应的docker-compose工具

github下载:https://github.com/docker/compose/releases

## 下载docker-compos
方法一:直接下载
[root@yun ~]# wget https://github.com/docker/compose/releases/download/v2.27.1/docker-compose-linux-x86_64

方法二:预先下载好,直接上传 docker-compose 到服务器
[root@yun ~]# ls
docker-compose-linux-x86_64

## 配置docker-compose
[root@yun ~]# chmod +x /usr/local/bin/docker-compose
[root@yun ~]# mv docker-compose-linux-x86_64  docker-compose
[root@yun ~]# mv docker-compose /usr/local/bin/

## 验证docker-compose
[root@yun ~]# docker-compose --version
Docker Compose version v2.27.1

3、编写dockerfile

## 创建目录用以持久化存储数据
[root@yun ~]# cd
[root@yun ~]# mkdir mysql
[root@yun ~]# mkdir -p wordpress/html
[root@yun ~]# mkdir -p nginx/html
[root@yun ~]# vim docker-compose.yaml
## 创建dockerfile文件

#version: "3.9"

# 所有服务共用同一个自定义网段 net
networks:
  default:        
    driver: bridge
    name: net

services:
  # MySQL
  mysql:
    image: mysql:8.0
    container_name: mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: [ 你的密码 ]
    volumes:
      - /root/mysql:/var/lib/mysql
    networks:
      - net
    healthcheck:
      test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
      timeout: 20s
      retries: 10

  # WordPress
  wordpress:
    image: wordpress:latest
    container_name: wordpress
    restart: always
    environment:
      WORDPRESS_DB_HOST: mysql:3306
      WORDPRESS_DB_USER: [ 你的数据库账户 ]
      WORDPRESS_DB_PASSWORD: [ 你的数据库密码 ]
    volumes:
      - /root/wordpress/html:/var/www/html
    ports:
      - "80:80"
    depends_on:
      mysql:
        condition: service_healthy
    networks:
      - net

4、启动docker-compose

 ## yaml文件名字为docker-compose直接执行下面的命令
 [root@yun ~]# docker-compose up -d
 ​
 ## 名字为其他的需要加上参数 -f
 [root@yun ~]# docker-compose -f xxx.yaml up -d

5、修改配置文件

## 进入数据库创建wp_db库
[root@yun ~]# docker exec -it mysql mysql -u[数据库账号] -p[数据库密码]
mysql> CREATE DATABASE wp_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

## 修改wp-config.php
[root@yun ~]# cd /root/wordpress/html/
[root@yun html]# vim wp-config.php  ## 主要是修改下面几行
... ...

// ** Database settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define( 'DB_NAME', 'wp_db' );   ## 刚刚我们上面创建的库名

/** Database username */
define( 'DB_USER', 'root' );   ## 数据库用户名

/** Database password */
define( 'DB_PASSWORD', 'password' );  ## 数据库密码

/** Database hostname */
define( 'DB_HOST', 'mysql' );   ## 因为在docker的容器网段下,所以只需要填写你创建的数据库容器名字即可

/** Database charset to use in creating database tables. */
define( 'DB_CHARSET', 'utf8mb4' );

/** The database collate type. Don't change this if in doubt. */
define( 'DB_COLLATE', '' );

... ...

## 重启wordpress容器
[root@yun html]# docker-compose restart wordpress

6、访问wordpress

填写信息,验证成功即可。

while
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
颜文字
Emoji
上一篇
下一篇