使用docker-compose部署wordpress

使用docker-compose部署wordpress

环境:

​ Ubuntu22.04-腾讯云、Docker、Docker-compose、mysql:5.7、wordpress:latest

​ 注:如果以非root身份登录,命令前加:sudo

​ 或者:sudo -i

​ 实验演示不涉及理论

一、安装docker

1、更新ubbuntu

apt update && apt upgrade && apt full-upgrade -y

2、添加docker库、https协议

apt install apt-transport-https ca-certificates curl software-properties-common gnupg lsb-release -y

3、添加 Docker 的官方 GPG 密钥

curl -fsSL https://mirrors.cloud.tencent.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-ce-archive-keyring.gpg
#添加docker源
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-ce-archive-keyring.gpg] https://mirrors.cloud.tencent.com/docker-ce/linux/ubuntu impish stable" | sudo tee /etc/apt/sources.list.d/docker-ce.list > /dev/null

# 再次更新安装源
apt update

4、安装docker

apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y
#重启系统,如果升级了kernel,建议重启系统
reboot

上面使用腾讯云的服务器,安装后是20版本,如果要使用最新版本,请使用docker官方源,

参考:https://mirror.tuna.tsinghua.edu.cn/help/docker-ce/

5、安装docker-compose

apt install python3-pip
pip3 install --upgrade pip
#默认云服务器已经安装,可直接运行下面命令安装docker-compose
pip3 install docker-compose

6、查看版本:

docker version
docker-compose version

7、配置国内的加速器,可选。

vim /etc/docker/daemon.json
# 添加以下内容
{
  "registry-mirrors": ["https://yxzrazem.mirror.aliyuncs.com"]
}
#保存退出
#重启服务
#测试了几个加速器,阿里云这个有效
systemctl daemon-reload
systemctl restart docker

二、部署wordPress

1、创建docker-compose.yml文件

注意:修改相应的用户名和密码

version: '3'

networks:
  mynetwork:
    driver: bridge
    ipam:
      driver: default
      config:
        - subnet: 172.18.0.0/24
          gateway: 172.18.0.1

services:
  db:
    image: mysql:5.7
    container_name: mysql57
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: yourpassword
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: wordpress
    volumes:
      - db_data:/var/lib/mysql
    networks:
      mynetwork:
        ipv4_address: 172.18.0.10

  wordpress:
    depends_on:
      - db
    image: wordpress:latest
    container_name: wordpress
    restart: always
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: wordpress
      WORDPRESS_DB_NAME: wordpress
    volumes:
      - wp_data:/var/www/html
    networks:
      mynetwork:
        ipv4_address: 172.18.0.11
    ports:
      - 80:80

  discuz:
    depends_on:
      - db
    image: tencentci/discuz
    container_name: discuz
    restart: always
    environment:
      DISCUZ_DB_HOST: db:3306
    volumes:
      - discuz_data:/var/www/html
    networks:
      mynetwork:
        ipv4_address: 172.18.0.12
    ports:
      - 80:80

volumes:
  db_data:
  wp_data:
  discuz_data:

2、运行上面文件

docker-compose up -d

上面脚本使用卷标的方式数据持久化,简洁,但映射的目录不好找

# 查看卷标
docker volume ls
#查看具体的volume对应的真实地址
docker volume inspect 上面看到的某个卷标

三、初始化WordPress

1、打开浏览器,输入服务器网址

2、选择“中文”

四、初始化Discuz

注意事项:

​ 数据库地址要填容器的地址。可以通过:

docker inspect 容器id查看

数据库名:默认即可

数据库管理员:root

进入到管理中心后首页会提示删除一些安装目录,这里我们做的映射,在主机删除就可能

持久化目标在:/var/lib/docker/volumes/root_discuz_data

你可能感兴趣的:(1024程序员节)