docker-compose安装wordpress

一、概述

恢复原有wordpress推荐使用宝塔面板,本文介绍配置新的wordpress站点。

二、环境准备

安装Docker
# 更新yum
yum update -y
# 安装Docker
yum install docker -y
# 安装完成后进行查看
yum list | grep docker
# 验证安装(查看版本号)
docker -v
# 修改镜像源
vim /etc/docker/daemon.json
{  "registry-mirrors": ["https://hub-mirror.c.163.com","https://registry.aliyuncs.com","https://registry.docker-cn.com"]}
# 启动Docker
systemctl start docker.service
# 设置开机启动
systemctl enable docker
# systemctl start docker
# systemctl restart docker
# systemctl stop docker
# systemctl status docker
# 为Docker创建普通用户,避免使用root
# groupadd dockeruseradd -g docker docker
安装Docker-compose

1.从github下载docker-compose二进制文件安装

# 需要安装到/usr/local/bin/目录
curl -L "https://github.com/docker/compose/releases/download/1.29.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 网络太慢可以用daocloud
# curl -L https://get.daocloud.io/docker/compose/releases/download/1.29.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
docker-compose -v

三、部署WP

方式1:Docker安装

默认网络不支持指派固定IP,使用固定IP则需要自定义网络。

docker pull wordpress:latest
docker pull mysql:5.7
docker run -d --privileged=true --name mysql_57 -v /data/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -p 33306:3306 mysql:5.7
# 运行WP
docker run -d --name wp -e WORDPRESS_DB_HOST=mysql -e WORDPRESS_DB_USER=root -e WORDPRESS_DB_PASSWORD=123456 -e WORDPRESS_DB_NAME=wp -p 8000:80 --link mysql_57:mysql wordpress
# 开启端口
firewall-cmd --zone=public --add-port=8000/tcp --permanentfirewall-cmd --reload
# 在线安装
http://127.0.0.1:8000
方式2:Docker-compose安装

注意8888是宝塔面板的默认端口
mysql参考配置 : https://hub.docker.com/_/mysql

version: '3'

networks:
  wp-net:

services:
  mysql:
    image: "mysql:5.7"
    privileged: true
    container_name: "wp_mysql_5.7"
    restart: always
    networks:
      - wp-net
    ports:
        - "23306:3306"
    environment:
        MYSQL_ROOT_PASSWORD: "123456"
        MYSQL_DATABASE: "wordpress"
        MYSQL_USER: "wp_user"
        MYSQL_PASSWORD: "123456"
        TZ: Asia/Shanghai
    command:
      --wait_timeout=28800
      --interactive_timeout=28800
      --max_connections=1000
      --character-set-server=utf8mb4
      --collation-server=utf8mb4_general_ci
      --explicit_defaults_for_timestamp=true
      --lower_case_table_names=1
      --max_allowed_packet=128M
      --sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO"
    volumes:
      - "./mysql-5.7/data:/var/lib/mysql"
      - "./mysql-5.7/config/my.cnf:/etc/mysql/my.cnf"
  wordpress: 
    image: wordpress:latest
    container_name: wp
    depends_on:
      - mysql
    ports:
      - 8000:80
    networks:
      - wp-net
    restart: always
    environment:
      WORDPRESS_DB_HOST: mysql
      WORDPRESS_DB_USER: wp_user
      WORDPRESS_DB_PASSWORD: 123456
    volumes:
      - ./html:/var/www/html

四、基础配置

防火墙

安装完毕之后,需要配置一下防火墙。

# 开放8000端口
firewall-cmd --zone=public --add-port=8000/tcp --permanent  
# 配置立即生效
firewall-cmd --reload   
调试模式

在WordPress 根目录下的wp-config.php 文件大概79行下有下面一段代码:

define( 'WP_DEBUG', false );
网络清理
# 删除未被使用的网络
docker network prune

五、常见问题

查看日志
docker logs 92143034fa98
数据库连接失败

wordpress运行之后,一直提示:Error establishing a database connection

查看日志:docker logs wp_mysql

# 修改配置文件:wp-config.php
define( 'DB_NAME', 'wordpress' );

/** MySQL database username */
define( 'DB_USER', 'wp_user' );

/** MySQL database password */
define( 'DB_PASSWORD', '123456' );

/** MySQL hostname */
define( 'DB_HOST', '172.25.28.20' );

六、基础操作

常用操作
# 启动
docker-compose up -d 
# 查看wordpress的IP
docker ps
docker inspect 92143034fa98
数据库操作
# 在mysql的my.cnf设置白名单(可能localhost不识别,-p也要加上)
# 配置权限wp的wp_user用户的172.25.0.3访问mysql
mysql -h127.0.0.1 -uroot -P23306 -p
mysql -h127.0.0.1 -uwp_user -P23306 -p

> use mysql;
> select Host,User from user;
grant all on *.* to 'root'@'%' identified by '123456' with grant option;
grant all on *.* to 'wp_user'@'%' identified by '123456' with grant option;
# 删除白名单用户的权限
# DELETE FROM user WHERE User='username' and Host='ip';
FLUSH PRIVILEGES;
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码上富贵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值