• 使用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
    
    • 1

    2、添加docker库、https协议

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

    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    4、安装docker

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

    上面使用腾讯云的服务器,安装后是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
    
    • 1
    • 2
    • 3
    • 4

    6、查看版本:

    docker version
    docker-compose version
    
    • 1
    • 2

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

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

    二、部署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:
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66

    2、运行上面文件

    docker-compose up -d
    
    • 1

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

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

    三、初始化WordPress

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

    2、选择“中文”

    四、初始化Discuz

    注意事项:

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

    docker inspect 容器id查看
    
    • 1

    数据库名:默认即可

    数据库管理员:root

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

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

  • 相关阅读:
    【6k字】详解Python装饰器和生成器
    IDEA 28 个天花板技巧 + 12 款神级插件,生产力起飞...
    [pytest] requests模块
    分享一下 iOS 发布/测试证书 申请过程
    OC-消息转发
    【Visual Studio 使用技巧分享】任务列表的使用
    51单片机驱动TCS3200颜色识别传感器
    Android 官方屏幕适配之ScreenMatch
    Chrome的使用技巧
    Django项目实现对外POST接口
  • 原文地址:https://blog.csdn.net/cx2csdn/article/details/134011041