2018-08-02

docker-compose安裝wordpress


搭建環(huán)境:

1.阿里云服務(wù)ECS

2.Centos_7_03

部署工具:

1.Docker

2.Docker-compose

3.Wordpress 和 MySql5.7

Docker:

根據(jù)官方文檔,Docker分為Community Edition (CE)和Enterprise Edition (EE)兩個(gè)版本,我們作為學(xué)習(xí)和個(gè)人使用,當(dāng)然選擇的是Community Edition (CE),安裝步驟如下:

方法1:

// 步驟1 - 為了確保沒有安裝過老的Docker版本,先將已經(jīng)安裝的Docker從宿主機(jī)上刪除(如果是在使用中的正式服務(wù)器,請(qǐng)謹(jǐn)慎執(zhí)行此步):

$ sudo yum remove docker \

? docker-common \

? docker-selinux \

? docker-engine

? // 步驟2 - 安裝Docker所需的包:

$ sudo yum install -y yum-utils \

? device-mapper-persistent-data \

? lvm2

? // 步驟3 - 配置到穩(wěn)定的Docker CE安裝庫(kù):

$ sudo yum-config-manager \

? ? --add-repo \? ? https://download.docker.com/linux/centos/docker-ce.repo

// 步驟4 - 安裝Docker CE:

$ sudo yum install docker-ce

// 步驟5 - 啟動(dòng)Docker服務(wù):

$ sudo systemctl start docker

// 步驟6 - 測(cè)試是否安裝成功:// 可以通過查看版本的形式確認(rèn)安裝是否成功:

$ docker --version // 也可以通過直接運(yùn)行hello-world容器來確認(rèn)安裝是否成功:

$ docker run hello-world

方法2:

//步驟一:yum更新(root權(quán)限)

[root@iz2ze819j38l9ba9luaudkz ~]# yum update

//步驟二:安裝docker

[root@iz2ze819j38l9ba9luaudkz ~]#yum -y install docker-io

//步驟三:開啟docker后臺(tái)服務(wù)

[root@iz2ze819j38l9ba9luaudkz ~]#service docker start

//步驟四:運(yùn)行 run hello-world驗(yàn)證安裝是否成功

[root@iz2ze819j38l9ba9luaudkz ~]# docker run hello-world

Unable to find image 'hello-world:latest' locally

rying to pull repository docker.io/library/hello-world ...

latest: Pulling from docker.io/library/hello-world

9db2ca6ccae0: Pull complete

Digest: sha256:4b8ff392a12ed9ea17784bd3c9a8b1fa3299cac44aca35a85c90c5e3c7afacdc

Status: Downloaded newer image for docker.io/hello-world:latest

Hello from Docker!

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

To generate this message, Docker took the following steps:

1. The Docker client contacted the Docker daemon.

2. The Docker daemon pulled the "hello-world" image from the Docker Hub.

(amd64)

3. The Docker daemon created a new container from that image which runs the

executable that produces the output you are currently reading.

4. The Docker daemon streamed that output to the Docker client, which sent it

to your terminal.

To try something more ambitious, you can run an Ubuntu container with:

$ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:

https://hub.docker.com/

For more examples and ideas, visit:

https://docs.docker.com/engine/userguide/

Docker Compose:

為了便于使用,我們需要安裝Docker Compose來管理和運(yùn)行Docker容器,Docker Compose的安裝步驟如下:

方法1:

// 步驟1 - 下載安裝文件:

$ sudo curl -L https://github.com/docker/compose/releases/download/1.17.0/docker-compose-`uname -s`-`uname -m` -o /usr/bin/docker-compose

// 步驟2 - 給已下載的安裝文件添加執(zhí)行權(quán)限:

$ sudo chmod +x /usr/bin/docker-compose

// 步驟3 - 測(cè)試是否安裝成功:

$ docker-compose --version

方法2:

//步驟一:驗(yàn)證有沒有安裝Python-pip包

[root@iz2ze819j38l9ba9luaudkz ~]#python-V

//若沒有Python-pip包,則執(zhí)行:? yum -y install epel-release?

//執(zhí)行成功后,在執(zhí)行:yum -y install python-pip

//步驟二:更新pip到最新[root@iz2ze819j38l9ba9luaudkz ~]#pip install --upgrade pip//步驟三:安裝docker-compose[root@iz2ze819j38l9ba9luaudkz ~]#pip install docker-compose//步驟四:檢查安裝是否成功[root@iz2ze819j38l9ba9luaudkz ~]#docker-compose -version

部署WordPress和MySql容器:

先創(chuàng)建一個(gè)工作目錄,并創(chuàng)建名為docker-compose.yml的文件:

$ cd /usr/

$ sudo mkdir myblog && cd myblog

$ sudo vim docker-compose.yml

將如下內(nèi)容保存在docker-compose.yml文件中:

version: '3.3'services:

? db:

? ? image: mysql:5.7

? ? volumes:

? ? ? - db_data:/var/lib/mysql

? ? restart: always

? ? environment:

? ? ? MYSQL_ROOT_PASSWORD: your-mysql-root-password

? ? ? MYSQL_DATABASE: wordpress

? ? ? MYSQL_USER: wordpress

? ? ? MYSQL_PASSWORD: wordpress

? wordpress:

? ? depends_on:

? ? ? - db

? ? image: wordpress:latest

? ? volumes:

? ? ? ? - wp_site:/var/www/html

? ? ports:

? ? ? - "80:80"

? ? ? - "443:443"

? ? restart: always

? ? environment:

? ? ? WORDPRESS_DB_HOST: db:3306

? ? ? WORDPRESS_DB_USER: wordpress

? ? ? WORDPRESS_DB_PASSWORD: wordpressvolumes:

? ? db_data:

? ? wp_site:

?關(guān)于Composer所使用的的yml文件的語(yǔ)法,請(qǐng)參考官方文檔,這里就不一一解釋了(因?yàn)槲易约阂彩莿側(cè)腴T,只會(huì)幾個(gè)基本的用法)。

?和官方給的Demo不同,上述yml文件中,我在volumes中添加了wp_site的卷,并將其掛在到wordpress容器中,這樣,當(dāng)容器被停止或者刪除后,重新安裝并啟動(dòng)wordpress容器時(shí),已安裝的plugins也可以直接繼續(xù)使用,而不是重新安裝。

此時(shí),我們直接使用docker-compose命令啟動(dòng)容器:

$ sudo docker-compose up -d

啟動(dòng)之后,我們就可以通過?http://ip:80?(因?yàn)槲覀兘壎ǖ氖撬拗鳈C(jī)的80端口) 來訪問WordPress(若不能訪問,請(qǐng)?jiān)诎⒗镌瓶刂婆_(tái)-云服務(wù)器ECS-網(wǎng)絡(luò)和安全-安全組-配置規(guī)則,添加并開啟指定的端口的公網(wǎng)訪問權(quán)限)

如果需要關(guān)閉服務(wù),則執(zhí)行如下命令:

$ sudo docker-compose down

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容