溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

docker三劍客之docker-compose和搭建wordpress的博客

發(fā)布時(shí)間:2020-07-24 12:51:31 來源:網(wǎng)絡(luò) 閱讀:466 作者:mb5cd21e691f31a 欄目:云計(jì)算

一、簡(jiǎn)介

Compose 項(xiàng)目是 Docker 官方的開源項(xiàng)目,負(fù)責(zé)實(shí)現(xiàn)對(duì) Docker 容器集群的快速編排。

通過之前的介紹,我們知道使用一個(gè) Dockerfile 模板文件,可以讓用戶很方便的定義一個(gè)單獨(dú)的應(yīng)用容器。然而,在日常工作中,經(jīng)常會(huì)碰到需要多個(gè)容器相互配合來完成某項(xiàng)任務(wù)的情況。例如要實(shí)現(xiàn)一個(gè) Web 項(xiàng)目,除了 Web 服務(wù)容器本身,往往還需要再加上后端的數(shù)據(jù)庫服務(wù)容器,甚至還包括負(fù)載均衡容器等。

Compose 恰好滿足了這樣的需求。它允許用戶通過一個(gè)單獨(dú)的 docker-compose.yml 模板文件(YAML 格式)來定義一組相關(guān)聯(lián)的應(yīng)用容器為一個(gè)項(xiàng)目(project)。

Compose 中有兩個(gè)重要的概念:

服務(wù) (service):一個(gè)應(yīng)用的容器,實(shí)際上可以包括若干運(yùn)行相同鏡像的容器實(shí)例。
項(xiàng)目 (project):由一組關(guān)聯(lián)的應(yīng)用容器組成的一個(gè)完整業(yè)務(wù)單元,在 docker-compose.yml 文件中定義。
Compose 的默認(rèn)管理對(duì)象是項(xiàng)目,通過子命令對(duì)項(xiàng)目中的一組容器進(jìn)行便捷地生命周期管理。

使用微服務(wù)架構(gòu)的系統(tǒng)一般包含若干個(gè)微服務(wù),每個(gè)微服務(wù)一般部署多個(gè)實(shí)例。如果每個(gè)服務(wù)都要手動(dòng)啟停,那么效率低,維護(hù)量大。

二、 Docker Compose介紹

通過Docker-Compose用戶可以很容易地用一個(gè)配置文件定義一個(gè)多容器的應(yīng)用,然后使用一條指令安裝這個(gè)應(yīng)用的所有依賴,完成編寫。Docker-Compose解決了容器與容器之間如何管理編排的問題。

Docker Compose工作原理圖
docker三劍客之docker-compose和搭建wordpress的博客
撰寫中有兩個(gè)重要的概念:

服務(wù)(服務(wù)):一個(gè)應(yīng)用的容器,實(shí)際上可以包括多個(gè)運(yùn)行相同相同的容器實(shí)例。
項(xiàng)目(項(xiàng)目):由各個(gè)關(guān)聯(lián)的應(yīng)用容器組成的一個(gè)完整的業(yè)務(wù)單元,在docker-compose.yml文件中定義。
一個(gè)項(xiàng)目可以由多個(gè)服務(wù)(容器)關(guān)聯(lián),組成面向項(xiàng)目進(jìn)行管理,通過子命令對(duì)項(xiàng)目中的單個(gè)容器進(jìn)行便捷地生命周期管理。

Compose項(xiàng)目由Python編寫,實(shí)現(xiàn)上調(diào)用了Docker服務(wù)提供的API來對(duì)容器進(jìn)行管理。因此,只要所操作的平臺(tái)支持Docker API,就可以在其上利用Compose來進(jìn)行編排管理。

Docker三大編排工具:

Docker Compose:是用來組裝多容器應(yīng)用的工具,可以在 Swarm集群中部署分布式應(yīng)用。

Docker Machine:是支持多平臺(tái)安裝Docker的工具,使用 Docker。Machine,可以很方便地在筆記本、云平臺(tái)及數(shù)據(jù)中心里安裝Docker。

Docker Swarm:是Docker社區(qū)原生提供的容器集群管理工具。

Docker Compose命令詳解

Docker compose的使用非常類似于docker命令的使用,但是需要注意的是大部分的compose命令都需要到docker-compose.yml文件所在的目錄下才能執(zhí)行。
compose以守護(hù)進(jìn)程模式運(yùn)行加-d選項(xiàng)

三、Docker Compose安裝

#下載
sudo curl -L https://github.com/docker/compose/releases/download/1.20.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
#安裝
chmod +x /usr/local/bin/docker-compose
#查看版本
docker-compose version

四、實(shí)驗(yàn)環(huán)境

主機(jī) ip地址 服務(wù)
docker 192.168.1.11 compose+wordpress

docker三劍客之docker-compose

docker容器的編排工具: 解決相互有依賴關(guān)系的多個(gè)容器的管理。

[root@docker01 ~]# docker-compose -v
//驗(yàn)證已有docker-compose命令

docker三劍客之docker-compose和搭建wordpress的博客

docker-compose的配置文件實(shí)例

通過識(shí)別一個(gè)docker-compose.yml的配置文件,去管理容器。

設(shè)置tab鍵的空格數(shù)量

[root@docker01 ~]# vim .vimrc
set tabstop=2
//設(shè)置tab鍵的空格數(shù)量
[root@docker01 ~]# source .vimrc 
//刷新一下

創(chuàng)建一個(gè)docker-compose.yml測(cè)試文件

[root@docker01 ~]# mkdir compose_test
//創(chuàng)建測(cè)試目錄
[root@docker01 ~]# cd compose_test/
[root@docker01 compose_test]# vim docker-compose.yml
//創(chuàng)建測(cè)試文件docker-compose.yml
version: "3"
services:
  nginx:
    container_name: web-nginx
    image: nginx
    restart: always
    ports:
      - 90:80
    volumes:
      - ./webserver:/usr/share/nginx/html
docker-compose.yml文件的解釋

第一部分: version: 指定語法格式的版本。

第二部分: service: 定義服務(wù),(想要運(yùn)行什么樣的容器)

通過docker-compose.yml文件[運(yùn)行]()容器

[root@docker01 compose_test]# docker-compose up -d
//后臺(tái)運(yùn)行docker-compose規(guī)定的容器。(在執(zhí)行這條命令的當(dāng)前目錄下,也需要一個(gè)docker-compose.yml的配置文件,并且通常只有一個(gè)。)

docker三劍客之docker-compose和搭建wordpress的博客

[root@docker01 compose_test]# docker ps
//查看容器信息

docker三劍客之docker-compose和搭建wordpress的博客

[root@docker01 compose_test]# curl 127.0.0.1:90
//訪問nginx會(huì)失敗,因?yàn)閽燧d目錄沒有頁面內(nèi)容

docker三劍客之docker-compose和搭建wordpress的博客

[root@docker01 compose_test]# vim webserver/index.html
//創(chuàng)建測(cè)試網(wǎng)頁
xgp666
[root@docker01 compose_test]# curl 127.0.0.1:90
//再次訪問,是成功的
xgp666

docker三劍客之docker-compose和搭建wordpress的博客

通過docker-compose.yml文件[停止運(yùn)行]()容器

[root@docker01 compose_test]# docker-compose stop

docker三劍客之docker-compose和搭建wordpress的博客

通過docker-compose.yml文件[重啟]()容器

[root@docker01 compose_test]# docker-compose restart

docker三劍客之docker-compose和搭建wordpress的博客

不在docker-compose.yml文件所在目錄,要使用[-f]()指定目錄

[root@docker01 ~]# docker-compose -f compose_test/docker-compose.yml  stop

并且,在運(yùn)行container(docker-compose.yml)的過程中,還支持Dockerfile

[root@docker01 compose_test]# vim Dockerfile
//編寫dockerfile
FROM nginx
ADD webserver /usr/share/nginx/html 
[root@docker01 compose_test]# vim docker-compose.yml 
//修改docker-compose.yml文件
version: "3"
services:
  nginx:
    build: .     #添加
    container_name: web-nginx
    image: new-nginx:v1.0   #修改鏡像名稱
    restart: always
    ports:
      - 90:80
通過docker-compose.yml文件[停止并刪除]()容器
[root@docker01 compose_test]# docker-compose stop
Stopping web-nginx ... done
[root@docker01 compose_test]# docker-compose rm
通過docker-compose.yml文件[運(yùn)行]()容器
[root@docker01 compose_test]# docker-compose up -d
//通過docker-compose.yml文件[運(yùn)行]()容器
[root@docker01 compose_test]# docker ps
//查看容器信息

docker三劍客之docker-compose和搭建wordpress的博客

測(cè)試nginx訪問頁面
[root@docker01 compose_test]# curl 127.0.0.1:90
//測(cè)試訪問nginx頁面,成功
xgp666

docker三劍客之docker-compose和搭建wordpress的博客

六、搭建wordpress的博客

下載wordpress和mysql:5.7容器

[root@docker01 ~]# docker pull wordpress
//下載wordpress容器
[root@docker01 ~]# docker pull mysql:5.7
//下載mysql:5.7容器

編寫一個(gè)docker-ccompose.yml

[root@docker01 ~]# mkdir wordpress
//創(chuàng)建wordpress測(cè)試文件
[root@docker01 ~]# cd wordpress/

[root@docker01 wordpress]# vim docker-compose.yml
//編寫docker-compose.yml
version: "3.1"
services:
  wordpress:
    image: wordpress
    restart: always
    ports:
      - 8080:80
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: 123.com
      WORDPRESS_DB_NAME: wordpress
  db:
    image: mysql:5.7
    restart: always
    environment:
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: 123.com
      MYSQL_ROOT_PASSWORD: 123.com

通過docker-compose.yml文件[運(yùn)行]()容器

[root@docker01 wordpress]# docker-compose up -d

docker三劍客之docker-compose和搭建wordpress的博客

[root@docker01 wordpress]# docker ps
//查看容器信息

docker三劍客之docker-compose和搭建wordpress的博客

[root@docker01 wordpress]# docker logs  容器名稱
//查看容器日志

瀏覽器訪問一下 http://192.168.1.11:8080/

選擇語言

docker三劍客之docker-compose和搭建wordpress的博客

安裝wordpress

docker三劍客之docker-compose和搭建wordpress的博客

docker三劍客之docker-compose和搭建wordpress的博客

登陸wordpress

docker三劍客之docker-compose和搭建wordpress的博客

docker三劍客之docker-compose和搭建wordpress的博客

登陸成功后,自己就可以進(jìn)行設(shè)置了

排錯(cuò)

首先查看主機(jī)名是否更改
防火墻和selinux是否關(guān)閉
docker-compose命令是否安裝給予權(quán)限
docker--compose.yml 編寫是否有問題
容器執(zhí)行是否正常
(如果瀏覽器訪問不到,可以添加一條路由轉(zhuǎn)發(fā))

其他wordpress優(yōu)化建議

以上步驟之后,基本wordpress搭建和一些必備的設(shè)置就算完成了,剩下的更多是個(gè)人的選擇,每個(gè)人可能要求不同,下面就說幾點(diǎn)wordpress優(yōu)化的建議

1.無論你是做百度seo,安裝一個(gè)SEO插件,就算不想設(shè)置文章的TDK,至少網(wǎng)站首頁的有必要設(shè)置一下,推薦 All in one seo pack
2.定期備份,備份的重要性不用多說,凡是丟過數(shù)據(jù)的人都會(huì)養(yǎng)成備份的習(xí)慣,WordPress備份網(wǎng)站方法
3.安裝一個(gè)安全插件,WordPress安全插件推薦
4.及時(shí)更新網(wǎng)站的主題和插件,WordPress插件自動(dòng)更新方法
5.刪除所有沒有用的主題和插件,WordPress刪除主題方法
6.設(shè)置垃圾留言過濾,wordpress防垃圾留言插件Akismet

WordPress建站基礎(chǔ)主要就是這些,后面的話就是根據(jù)自己的站點(diǎn)進(jìn)行各種設(shè)置,不同類型的站點(diǎn)使用主題和插件都是很大區(qū)別的。不過如果你能學(xué)會(huì)本篇所介紹的內(nèi)容,相信你的站點(diǎn)就已經(jīng)超過了絕大部分網(wǎng)站,好了今天教程就到這里,如果你有什么問題或者其他更好的建議,歡迎留言討論

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI