恢复原有wordpress推荐使用宝塔面板,本文介绍配置新的wordpress站点。
yum update -y yum <span class="token function">install</span> <span class="token function">docker</span> -y yum list <span class="token operator">|</span> <span class="token function">grep</span> <span class="token function">docker</span> <span class="token function">docker</span> -v <span class="token function">vim</span> /etc/docker/daemon.json <span class="token punctuation">{<!-- --></span> <span class="token string">"registry-mirrors"</span><span class="token builtin class-name">:</span> <span class="token punctuation">[</span><span class="token string">"https://hub-mirror.c.163.com"</span>,<span class="token string">"https://registry.aliyuncs.com"</span>,<span class="token string">"https://registry.docker-cn.com"</span><span class="token punctuation">]</span><span class="token punctuation">}</span> systemctl start docker.service systemctl <span class="token builtin class-name">enable</span> <span class="token function">docker</span>yum update -y yum <span class="token function">install</span> <span class="token function">docker</span> -y yum list <span class="token operator">|</span> <span class="token function">grep</span> <span class="token function">docker</span> <span class="token function">docker</span> -v <span class="token function">vim</span> /etc/docker/daemon.json <span class="token punctuation">{<!-- --></span> <span class="token string">"registry-mirrors"</span><span class="token builtin class-name">:</span> <span class="token punctuation">[</span><span class="token string">"https://hub-mirror.c.163.com"</span>,<span class="token string">"https://registry.aliyuncs.com"</span>,<span class="token string">"https://registry.docker-cn.com"</span><span class="token punctuation">]</span><span class="token punctuation">}</span> systemctl start docker.service systemctl <span class="token builtin class-name">enable</span> <span class="token function">docker</span>yum update -y 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"]} systemctl start docker.service systemctl enable docker
1.从github下载docker-compose二进制文件安装
<span class="token function">curl</span> -L <span class="token string">"https://github.com/docker/compose/releases/download/1.29.0/docker-compose-<span class="token variable"><span class="token variable">$(</span><span class="token function">uname</span> -s<span class="token variable">)</span></span>-<span class="token variable"><span class="token variable">$(</span><span class="token function">uname</span> -m<span class="token variable">)</span></span>"</span> -o /usr/local/bin/docker-compose <span class="token function">chmod</span> +x /usr/local/bin/docker-compose <span class="token function">ln</span> -s /usr/local/bin/docker-compose /usr/bin/docker-compose <span class="token function">docker-compose</span> -v<span class="token function">curl</span> -L <span class="token string">"https://github.com/docker/compose/releases/download/1.29.0/docker-compose-<span class="token variable"><span class="token variable">$(</span><span class="token function">uname</span> -s<span class="token variable">)</span></span>-<span class="token variable"><span class="token variable">$(</span><span class="token function">uname</span> -m<span class="token variable">)</span></span>"</span> -o /usr/local/bin/docker-compose <span class="token function">chmod</span> +x /usr/local/bin/docker-compose <span class="token function">ln</span> -s /usr/local/bin/docker-compose /usr/bin/docker-compose <span class="token function">docker-compose</span> -vcurl -L "https://github.com/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
默认网络不支持指派固定IP,使用固定IP则需要自定义网络。
<span class="token function">docker</span> pull wordpress:latest <span class="token function">docker</span> pull mysql:5.7 <span class="token function">docker</span> run -d --privileged<span class="token operator">=</span>true --name mysql_57 -v /data/mysql:/var/lib/mysql -e <span class="token assign-left variable">MYSQL_ROOT_PASSWORD</span><span class="token operator">=</span><span class="token number">123456</span> -p <span class="token number">33306</span>:3306 mysql:5.7 <span class="token function">docker</span> run -d --name wp -e <span class="token assign-left variable">WORDPRESS_DB_HOST</span><span class="token operator">=</span>mysql -e <span class="token assign-left variable">WORDPRESS_DB_USER</span><span class="token operator">=</span>root -e <span class="token assign-left variable">WORDPRESS_DB_PASSWORD</span><span class="token operator">=</span><span class="token number">123456</span> -e <span class="token assign-left variable">WORDPRESS_DB_NAME</span><span class="token operator">=</span>wp -p <span class="token number">8000</span>:80 --link mysql_57:mysql wordpress firewall-cmd --zone<span class="token operator">=</span>public --add-port<span class="token operator">=</span><span class="token number">8000</span>/tcp --permanentfirewall-cmd --reload http://127.0.0.1:8000<span class="token function">docker</span> pull wordpress:latest <span class="token function">docker</span> pull mysql:5.7 <span class="token function">docker</span> run -d --privileged<span class="token operator">=</span>true --name mysql_57 -v /data/mysql:/var/lib/mysql -e <span class="token assign-left variable">MYSQL_ROOT_PASSWORD</span><span class="token operator">=</span><span class="token number">123456</span> -p <span class="token number">33306</span>:3306 mysql:5.7 <span class="token function">docker</span> run -d --name wp -e <span class="token assign-left variable">WORDPRESS_DB_HOST</span><span class="token operator">=</span>mysql -e <span class="token assign-left variable">WORDPRESS_DB_USER</span><span class="token operator">=</span>root -e <span class="token assign-left variable">WORDPRESS_DB_PASSWORD</span><span class="token operator">=</span><span class="token number">123456</span> -e <span class="token assign-left variable">WORDPRESS_DB_NAME</span><span class="token operator">=</span>wp -p <span class="token number">8000</span>:80 --link mysql_57:mysql wordpress firewall-cmd --zone<span class="token operator">=</span>public --add-port<span class="token operator">=</span><span class="token number">8000</span>/tcp --permanentfirewall-cmd --reload http://127.0.0.1:8000docker 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 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
注意8888是宝塔面板的默认端口
mysql参考配置 : https://hub.docker.com/_/mysql
version: <span class="token string">'3'</span> networks: wp-net: services: mysql: image: <span class="token string">"mysql:5.7"</span> privileged: <span class="token boolean">true</span> container_name: <span class="token string">"wp_mysql_5.7"</span> restart: always networks: - wp-net ports: - <span class="token string">"23306:3306"</span> environment: MYSQL_ROOT_PASSWORD: <span class="token string">"123456"</span> MYSQL_DATABASE: <span class="token string">"wordpress"</span> MYSQL_USER: <span class="token string">"wp_user"</span> MYSQL_PASSWORD: <span class="token string">"123456"</span> TZ: Asia/Shanghai command: --wait_timeout<span class="token operator">=</span><span class="token number">28800</span> --interactive_timeout<span class="token operator">=</span><span class="token number">28800</span> --max_connections<span class="token operator">=</span><span class="token number">1000</span> --character-set-server<span class="token operator">=</span>utf8mb4 --collation-server<span class="token operator">=</span>utf8mb4_general_ci --explicit_defaults_for_timestamp<span class="token operator">=</span>true --lower_case_table_names<span class="token operator">=</span><span class="token number">1</span> --max_allowed_packet<span class="token operator">=</span>128M --sql-mode<span class="token operator">=</span><span class="token string">"STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO"</span> volumes: - <span class="token string">"./mysql-5.7/data:/var/lib/mysql"</span> - <span class="token string">"./mysql-5.7/config/my.cnf:/etc/mysql/my.cnf"</span> wordpress: image: wordpress:latest container_name: wp depends_on: - mysql ports: - <span class="token number">8000</span>:80 networks: - wp-net restart: always environment: WORDPRESS_DB_HOST: mysql WORDPRESS_DB_USER: wp_user WORDPRESS_DB_PASSWORD: <span class="token number">123456</span> volumes: - ./html:/var/www/htmlversion: <span class="token string">'3'</span> networks: wp-net: services: mysql: image: <span class="token string">"mysql:5.7"</span> privileged: <span class="token boolean">true</span> container_name: <span class="token string">"wp_mysql_5.7"</span> restart: always networks: - wp-net ports: - <span class="token string">"23306:3306"</span> environment: MYSQL_ROOT_PASSWORD: <span class="token string">"123456"</span> MYSQL_DATABASE: <span class="token string">"wordpress"</span> MYSQL_USER: <span class="token string">"wp_user"</span> MYSQL_PASSWORD: <span class="token string">"123456"</span> TZ: Asia/Shanghai command: --wait_timeout<span class="token operator">=</span><span class="token number">28800</span> --interactive_timeout<span class="token operator">=</span><span class="token number">28800</span> --max_connections<span class="token operator">=</span><span class="token number">1000</span> --character-set-server<span class="token operator">=</span>utf8mb4 --collation-server<span class="token operator">=</span>utf8mb4_general_ci --explicit_defaults_for_timestamp<span class="token operator">=</span>true --lower_case_table_names<span class="token operator">=</span><span class="token number">1</span> --max_allowed_packet<span class="token operator">=</span>128M --sql-mode<span class="token operator">=</span><span class="token string">"STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO"</span> volumes: - <span class="token string">"./mysql-5.7/data:/var/lib/mysql"</span> - <span class="token string">"./mysql-5.7/config/my.cnf:/etc/mysql/my.cnf"</span> wordpress: image: wordpress:latest container_name: wp depends_on: - mysql ports: - <span class="token number">8000</span>:80 networks: - wp-net restart: always environment: WORDPRESS_DB_HOST: mysql WORDPRESS_DB_USER: wp_user WORDPRESS_DB_PASSWORD: <span class="token number">123456</span> volumes: - ./html:/var/www/htmlversion: '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
安装完毕之后,需要配置一下防火墙。
firewall-cmd --zone<span class="token operator">=</span>public --add-port<span class="token operator">=</span><span class="token number">8000</span>/tcp --permanent firewall-cmd --reloadfirewall-cmd --zone<span class="token operator">=</span>public --add-port<span class="token operator">=</span><span class="token number">8000</span>/tcp --permanent firewall-cmd --reloadfirewall-cmd --zone=public --add-port=8000/tcp --permanent firewall-cmd --reload
在WordPress 根目录下的wp-config.php 文件大概79行下有下面一段代码:
define<span class="token punctuation">(</span> <span class="token string">'WP_DEBUG'</span>, <span class="token boolean">false</span> <span class="token punctuation">)</span><span class="token punctuation">;</span>define<span class="token punctuation">(</span> <span class="token string">'WP_DEBUG'</span>, <span class="token boolean">false</span> <span class="token punctuation">)</span><span class="token punctuation">;</span>define( 'WP_DEBUG', false );
<span class="token function">docker</span> network prune<span class="token function">docker</span> network prunedocker network prune
<span class="token function">docker</span> logs 92143034fa98<span class="token function">docker</span> logs 92143034fa98docker logs 92143034fa98
wordpress运行之后,一直提示:Error establishing a database connection
查看日志:docker logs wp_mysql
define<span class="token punctuation">(</span> <span class="token string">'DB_NAME'</span>, <span class="token string">'wordpress'</span> <span class="token punctuation">)</span><span class="token punctuation">;</span> /** MySQL database username */ define<span class="token punctuation">(</span> <span class="token string">'DB_USER'</span>, <span class="token string">'wp_user'</span> <span class="token punctuation">)</span><span class="token punctuation">;</span> /** MySQL database password */ define<span class="token punctuation">(</span> <span class="token string">'DB_PASSWORD'</span>, <span class="token string">'123456'</span> <span class="token punctuation">)</span><span class="token punctuation">;</span> /** MySQL <span class="token function">hostname</span> */ define<span class="token punctuation">(</span> <span class="token string">'DB_HOST'</span>, <span class="token string">'172.25.28.20'</span> <span class="token punctuation">)</span><span class="token punctuation">;</span>define<span class="token punctuation">(</span> <span class="token string">'DB_NAME'</span>, <span class="token string">'wordpress'</span> <span class="token punctuation">)</span><span class="token punctuation">;</span> /** MySQL database username */ define<span class="token punctuation">(</span> <span class="token string">'DB_USER'</span>, <span class="token string">'wp_user'</span> <span class="token punctuation">)</span><span class="token punctuation">;</span> /** MySQL database password */ define<span class="token punctuation">(</span> <span class="token string">'DB_PASSWORD'</span>, <span class="token string">'123456'</span> <span class="token punctuation">)</span><span class="token punctuation">;</span> /** MySQL <span class="token function">hostname</span> */ define<span class="token punctuation">(</span> <span class="token string">'DB_HOST'</span>, <span class="token string">'172.25.28.20'</span> <span class="token punctuation">)</span><span class="token punctuation">;</span>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' );
<span class="token function">docker-compose</span> up -d <span class="token function">docker</span> <span class="token function">ps</span> <span class="token function">docker</span> inspect 92143034fa98<span class="token function">docker-compose</span> up -d <span class="token function">docker</span> <span class="token function">ps</span> <span class="token function">docker</span> inspect 92143034fa98docker-compose up -d docker ps docker inspect 92143034fa98
mysql -h127.0.0.1 -uroot -P23306 -p mysql -h127.0.0.1 -uwp_user -P23306 -p <span class="token operator">></span> use mysql<span class="token punctuation">;</span> <span class="token operator">></span> <span class="token keyword">select</span> Host,User from user<span class="token punctuation">;</span> grant all on *.* to <span class="token string">'root'</span>@<span class="token string">'%'</span> identified by <span class="token string">'123456'</span> with grant option<span class="token punctuation">;</span> grant all on *.* to <span class="token string">'wp_user'</span>@<span class="token string">'%'</span> identified by <span class="token string">'123456'</span> with grant option<span class="token punctuation">;</span> FLUSH PRIVILEGES<span class="token punctuation">;</span>mysql -h127.0.0.1 -uroot -P23306 -p mysql -h127.0.0.1 -uwp_user -P23306 -p <span class="token operator">></span> use mysql<span class="token punctuation">;</span> <span class="token operator">></span> <span class="token keyword">select</span> Host,User from user<span class="token punctuation">;</span> grant all on *.* to <span class="token string">'root'</span>@<span class="token string">'%'</span> identified by <span class="token string">'123456'</span> with grant option<span class="token punctuation">;</span> grant all on *.* to <span class="token string">'wp_user'</span>@<span class="token string">'%'</span> identified by <span class="token string">'123456'</span> with grant option<span class="token punctuation">;</span> FLUSH PRIVILEGES<span class="token punctuation">;</span>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; FLUSH PRIVILEGES;
原文链接:https://blog.csdn.net/Duke147/article/details/127485088?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168623078216800225583599%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=168623078216800225583599&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~times_rank-3-127485088-null-null.268%5Ev1%5Ekoosearch&utm_term=docker%E3%80%81wordpress%E3%80%81wordpress%E5%BB%BA%E7%AB%99%E3%80%81wordpress%E4%B8%BB%E9%A2%98%E3%80%81%E5%AE%B9%E5%99%A8%E9%95%9C%E5%83%8F%E3%80%81