WordPress是一個(gè)非常著名的PHP編寫的博客平臺(tái)厂榛,發(fā)展到目前為止已經(jīng)形成了一個(gè)龐大的網(wǎng)站平臺(tái)系統(tǒng)讲仰。在WP上有規(guī)模龐大的插件和主題,可以幫助我們快速建立一個(gè)博客甚至網(wǎng)站眨业,今天嘗試在Linux上使用Docker來安裝WordPress竹握。
本著“容器只干一件事情”的原則画株,本文會(huì)將出現(xiàn)兩個(gè)容器,一個(gè)Wordpress的網(wǎng)站程序的容器,另一個(gè)則是MySQL的數(shù)據(jù)庫容器谓传,從中將看到兩個(gè)容器是如何協(xié)同工作的蜈项。
使用docker的好處就是盡量減少了環(huán)境部署,可靠性強(qiáng)良拼,容易維護(hù),我使用docker搭建wordpress的主要目標(biāo)有下面幾個(gè)
首先我重新生成數(shù)據(jù)庫容器可以保證數(shù)據(jù)庫數(shù)據(jù)不丟失充边,重新生成wordpress容器保證wordpress網(wǎng)站數(shù)據(jù)不丟失庸推,盡量讓兩個(gè)容器處于無狀態(tài)運(yùn)行中,所有數(shù)據(jù)保存在docker宿主機(jī)浇冰,方便備份和恢復(fù)
安裝Docker
#卸載舊版本
$ sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
設(shè)置存儲(chǔ)庫
安裝所需的包贬媒。yum-utils提供了yum-config-manager 效用,并device-mapper-persistent-data和lvm2由需要 devicemapper存儲(chǔ)驅(qū)動(dòng)程序肘习。
$ sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
使用以下命令設(shè)置穩(wěn)定存儲(chǔ)庫际乘。
$ 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
啟動(dòng)
$ sudo systemctl start docker
驗(yàn)證
$ sudo docker run hello-world
安裝WordPress
獲取相關(guān)鏡像
[root@rainy ~]# docker pull wordpress
[root@rainy ~]# docker pull mysql:5.6
啟動(dòng)mysql
[root@rainy ~]# docker run -d \
--name wordpress-mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
-p 3306:3306 \
mysql:5.6
- docker run :啟動(dòng)容器
- -d:后臺(tái)運(yùn)行容器
- –name wordpress-mysql:指定容器的名字,本文設(shè)置為wordpress-mysql
- -e MYSQL_ROOT_PASSWORD=123456:指定容器的環(huán)境參數(shù)漂佩,此處初始化MySQL的root密碼
- -p 3306:3306:端口映射脖含,這里將容器內(nèi)的3306端口映射到docker宿主機(jī)的3306端口
- mysql:鏡像的名字,首先從docker宿主機(jī)本地加載投蝉,其次從dockerHub上加載
啟動(dòng)WordPress
[root@rainy ~]# docker run -d \
--name wordpress-wordpress \
--link wordpress-mysql:mysql \
-p 80:80 \
wordpress
- docker run :啟動(dòng)容器
- -d:后臺(tái)運(yùn)行容器
- –name wordpress-wordpress:指定容器的名字养葵,本文設(shè)置為wordpress-wordpress
- –link wordpress-mysql:mysql:容器關(guān)聯(lián),現(xiàn)在啟動(dòng)的容器內(nèi)部可以通過mysql來訪問wordpress-mysql數(shù)據(jù)庫的功能
- -p 80:80:端口映射瘩缆,這里將容器內(nèi)的80端口映射到docker宿主機(jī)的80端口
- wordpress:鏡像的名字关拒,首先從docker宿主機(jī)本地加載,其次從dockerHub上加載
如果使用外部的MySQL數(shù)據(jù)庫庸娱,則輸入下面的命令着绊。
docker run -d\
--name wordpress-wordpress \
-e WORDPRESS_DB_HOST=數(shù)據(jù)庫Ip地址:3306 \
-e WORDPRESS_DB_USER=... \
-e WORDPRESS_DB_PASSWORD=... \
-wordpress
image.png
打開WordPress配置
瀏覽器訪問docker宿主機(jī)地址