阿里云上Docker Compose部署wordpress

时间:2021-09-25 01:10:08

先上官方文档:

https://docs.docker.com/compose/wordpress/

我的环境:

[root@xyjk1002 ~]# cat /etc/redhat-release
CentOS Linux release 7.2. (Core)
[root@xyjk1002 ~]# uname -r
3.10.-123.9..el7.x86_64

可以使用Docker Compose可以利用容器,在隔离环境下轻松运行WordPress。

1.安装Compose

官方给出的参考文献

https://docs.docker.com/compose/install/

(1)安装docker

文档给出了两种安装方式,但是某些特殊原因,几乎无法下载,最终我们还是选择阿里云的镜像站

地址:

http://mirrors.aliyun.com/help/docker-engine

我使用miyan这个账户安装,首先赋予root权限

[root@xyjk1002 miyan]# visudo

添加这一行

aaarticlea/png;base64,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" alt="" />

OK,将miyan添加到docker用户组,这样就可以不用运行每个docker命令都要加上sudo

[root@xyjk1002 miyan]# usermod -aG docker miyan

OK,切换到miyan用户,安装docker

[miyan@xyjk1002 ~]$ sudo curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh -

启动服务,并设置开机自启动。

[miyan@xyjk1002 ~]$ sudo systemctl start docker.service
[miyan@xyjk1002 ~]$ sudo systemctl enable docker.service
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.

测试一下:

太慢了,先设置了阿里云docker的加速器。(这一步请去阿里云docker镜像库获取帮助)

[miyan@xyjk1002 ~]$ docker run hello-world

Hello from Docker.
This message shows that your installation appears to be working correctly.

OK。

(2)开始安装Compose.

文档提供了三种安装方式,我们采用第一种方式。

curl -L https://github.com/docker/compose/releases/download/1.6.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

无奈,阿里云死活下不下来,直接去github下载最新,并用winscp上传上去。

https://github.com/docker/compose/releases/tag/1.7.0-rc2

下载第二个:

aaarticlea/png;base64,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" alt="" />

[miyan@xyjk1002 ~]$ sudo mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose
[miyan@xyjk1002 ~]$ chmod +x /usr/local/bin/docker-compose
[miyan@xyjk1002 ~]$ ll /usr/local/bin/docker-compose
-rwxrwxr-x miyan miyan Apr : /usr/local/bin/docker-compose

验证一下:

[miyan@xyjk1002 ~]$ docker-compose --version
docker-compose version 1.7.0rc2, build ea2d526

OK。

2.Docker-compose文件

(1)创建my_wordpress文件夹,进入该文件夹.编写Dockerfile文件

FROM orchardup/php5
ADD . /code

(2)创建一个docker-compose.yml文件,创建web和mysql

version: ''
services:
web:
build: .
command: php -S 0.0.0.0: -t /code/wordpress/
ports:
- "8000:8000"
depends_on:
- db
volumes:
- .:/code
db:
image: orchardup/mysql
environment:
MYSQL_DATABASE: wordpress

(3)下载wordpress到当前目录

 curl https://wordpress.org/latest.tar.gz | tar -xvzf -

(4)在wordpress文件夹中,创建一个wp-config.php的文件,这是wordpress的配置文件,请注意加黑部分,设置显示汉语。

<?php
define('DB_NAME', 'wordpress');
define('DB_USER', 'root');
define('DB_PASSWORD', '');
define('DB_HOST', "db:3306");
define('DB_CHARSET', 'utf8');
define('DB_COLLATE', ''); define('AUTH_KEY', 'put your unique phrase here');
define('SECURE_AUTH_KEY', 'put your unique phrase here');
define('LOGGED_IN_KEY', 'put your unique phrase here');
define('NONCE_KEY', 'put your unique phrase here');
define('AUTH_SALT', 'put your unique phrase here');
define('SECURE_AUTH_SALT', 'put your unique phrase here');
define('LOGGED_IN_SALT', 'put your unique phrase here');
define('NONCE_SALT', 'put your unique phrase here'); $table_prefix = 'wp_';
define('WPLANG', ''zh_CN');
define('WP_DEBUG', false); if ( !defined('ABSPATH') )
define('ABSPATH', dirname(__FILE__) . '/'); require_once(ABSPATH . 'wp-settings.php');
?>

此时,万事具备,我们确认一下,当前文件夹的文件

[miyan@xyjk1002 my_wordpress]$ ls
docker-compose.yml Dockerfile wordpress

3.构建

[miyan@xyjk1002 my_wordpress]$ docker-compose up -d

4.浏览器输入ip:8000

然后就是各类信息填写。

坑:

因为我使用的是https://wordpress.org/latest.tar.gz老外的语言包,即使改了define('WPLANG', ''zh_CN')这,结果还是不能显示汉语。解决办法:

其实,有中文的wordpress,地址:https://cn.wordpress.org/.我们有两种解决办法:

(1)使用中文wordpress包,重新制作镜像。

(2)添加语言文件,把它放到wordpress程序所在目录的“wp-content”目录下即可(把语言文件放在language目录内)。这个语言文件就在中文的wordpress包中。