WordPress是一個非常著名的PHP編寫的博客平臺,發展到目前爲止已經形成了一個龐大的網站平臺系統。在WP上有規模龐大的插件和主題,可以幫助我們快速建立一個博客甚至網站,今天嘗試在Linux上使用Docker來安裝WordPress。
本着“容器只幹一件事情”的原則,本文會將出現兩個容器,一個Wordpress的網站程序的容器,另一個則是MySQL的數據庫容器,從中將看到兩個容器是如何協同工作的。
使用docker的好處就是儘量減少了環境部署,可靠性強,容易維護,我使用docker搭建wordpress的主要目標有下面幾個
首先我重新生成數據庫容器可以保證數據庫數據不丟失,重新生成wordpress容器保證wordpress網站數據不丟失,儘量讓兩個容器處於無狀態運行中,所有數據保存在docker宿主機,方便備份和恢復
安裝Docker
#卸載舊版本
$ sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
設置存儲庫
安裝所需的包。yum-utils提供了yum-config-manager 效用,並device-mapper-persistent-data和lvm2由需要 devicemapper存儲驅動程序。
$ sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
使用以下命令設置穩定存儲庫。
$ sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
$ sudo yum install docker-ce docker-ce-cli containerd.io
啓動
$ sudo systemctl start docker
驗證
$ sudo docker run hello-world
安裝WordPress
獲取相關鏡像
[root@rainy ~]# docker pull wordpress
[root@rainy ~]# docker pull mysql:5.6
啓動mysql
[root@rainy ~]# docker run -d \
--name wordpress-mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
-p 3306:3306 \
mysql:5.6
- docker run :啓動容器
- -d:後臺運行容器
- –name wordpress-mysql:指定容器的名字,本文設置爲wordpress-mysql
- -e MYSQL_ROOT_PASSWORD=123456:指定容器的環境參數,此處初始化MySQL的root密碼
- -p 3306:3306:端口映射,這裏將容器內的3306端口映射到docker宿主機的3306端口
- mysql:鏡像的名字,首先從docker宿主機本地加載,其次從dockerHub上加載
啓動WordPress
[root@rainy ~]# docker run -d \
--name wordpress-wordpress \
--link wordpress-mysql:mysql \
-p 80:80 \
wordpress
- docker run :啓動容器
- -d:後臺運行容器
- –name wordpress-wordpress:指定容器的名字,本文設置爲wordpress-wordpress
- –link wordpress-mysql:mysql:容器關聯,現在啓動的容器內部可以通過mysql來訪問wordpress-mysql數據庫的功能
- -p 80:80:端口映射,這裏將容器內的80端口映射到docker宿主機的80端口
- wordpress:鏡像的名字,首先從docker宿主機本地加載,其次從dockerHub上加載
如果使用外部的MySQL數據庫,則輸入下面的命令。
docker run -d\
--name wordpress-wordpress \
-e WORDPRESS_DB_HOST=數據庫Ip地址:3306 \
-e WORDPRESS_DB_USER=... \
-e WORDPRESS_DB_PASSWORD=... \
-wordpress