您好,登錄后才能下訂單哦!
Compose 項目是 Docker 官方的開源項目,負責實現對 Docker 容器集群的快速編排。
通過之前的介紹,我們知道使用一個 Dockerfile 模板文件,可以讓用戶很方便的定義一個單獨的應用容器。然而,在日常工作中,經常會碰到需要多個容器相互配合來完成某項任務的情況。例如要實現一個 Web 項目,除了 Web 服務容器本身,往往還需要再加上后端的數據庫服務容器,甚至還包括負載均衡容器等。
Compose 恰好滿足了這樣的需求。它允許用戶通過一個單獨的 docker-compose.yml 模板文件(YAML 格式)來定義一組相關聯的應用容器為一個項目(project)。
Compose 中有兩個重要的概念:
服務 (service):一個應用的容器,實際上可以包括若干運行相同鏡像的容器實例。
項目 (project):由一組關聯的應用容器組成的一個完整業務單元,在 docker-compose.yml 文件中定義。
Compose 的默認管理對象是項目,通過子命令對項目中的一組容器進行便捷地生命周期管理。
使用微服務架構的系統一般包含若干個微服務,每個微服務一般部署多個實例。如果每個服務都要手動啟停,那么效率低,維護量大。
通過Docker-Compose用戶可以很容易地用一個配置文件定義一個多容器的應用,然后使用一條指令安裝這個應用的所有依賴,完成編寫。Docker-Compose解決了容器與容器之間如何管理編排的問題。
Docker Compose工作原理圖
撰寫中有兩個重要的概念:
服務(服務):一個應用的容器,實際上可以包括多個運行相同相同的容器實例。
項目(項目):由各個關聯的應用容器組成的一個完整的業務單元,在docker-compose.yml文件中定義。
一個項目可以由多個服務(容器)關聯,組成面向項目進行管理,通過子命令對項目中的單個容器進行便捷地生命周期管理。
Compose項目由Python編寫,實現上調用了Docker服務提供的API來對容器進行管理。因此,只要所操作的平臺支持Docker API,就可以在其上利用Compose來進行編排管理。
Docker三大編排工具:
Docker Compose:是用來組裝多容器應用的工具,可以在 Swarm集群中部署分布式應用。
Docker Machine:是支持多平臺安裝Docker的工具,使用 Docker。Machine,可以很方便地在筆記本、云平臺及數據中心里安裝Docker。
Docker Swarm:是Docker社區原生提供的容器集群管理工具。
Docker Compose命令詳解
Docker compose的使用非常類似于docker命令的使用,但是需要注意的是大部分的compose命令都需要到docker-compose.yml文件所在的目錄下才能執行。
compose以守護進程模式運行加-d選項
#下載
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
主機 | ip地址 | 服務 |
---|---|---|
docker | 192.168.1.11 | compose+wordpress |
docker容器的編排工具: 解決相互有依賴關系的多個容器的管理。
[root@docker01 ~]# docker-compose -v
//驗證已有docker-compose命令
通過識別一個docker-compose.yml的配置文件,去管理容器。
[root@docker01 ~]# vim .vimrc
set tabstop=2
//設置tab鍵的空格數量
[root@docker01 ~]# source .vimrc
//刷新一下
[root@docker01 ~]# mkdir compose_test
//創建測試目錄
[root@docker01 ~]# cd compose_test/
[root@docker01 compose_test]# vim docker-compose.yml
//創建測試文件docker-compose.yml
version: "3"
services:
nginx:
container_name: web-nginx
image: nginx
restart: always
ports:
- 90:80
volumes:
- ./webserver:/usr/share/nginx/html
第一部分: version: 指定語法格式的版本。
第二部分: service: 定義服務,(想要運行什么樣的容器)
[root@docker01 compose_test]# docker-compose up -d
//后臺運行docker-compose規定的容器。(在執行這條命令的當前目錄下,也需要一個docker-compose.yml的配置文件,并且通常只有一個。)
[root@docker01 compose_test]# docker ps
//查看容器信息
[root@docker01 compose_test]# curl 127.0.0.1:90
//訪問nginx會失敗,因為掛載目錄沒有頁面內容
[root@docker01 compose_test]# vim webserver/index.html
//創建測試網頁
xgp666
[root@docker01 compose_test]# curl 127.0.0.1:90
//再次訪問,是成功的
xgp666
[root@docker01 compose_test]# docker-compose stop
[root@docker01 compose_test]# docker-compose restart
[root@docker01 ~]# docker-compose -f compose_test/docker-compose.yml stop
[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
[root@docker01 compose_test]# docker-compose stop
Stopping web-nginx ... done
[root@docker01 compose_test]# docker-compose rm
[root@docker01 compose_test]# docker-compose up -d
//通過docker-compose.yml文件[運行]()容器
[root@docker01 compose_test]# docker ps
//查看容器信息
[root@docker01 compose_test]# curl 127.0.0.1:90
//測試訪問nginx頁面,成功
xgp666
[root@docker01 ~]# docker pull wordpress
//下載wordpress容器
[root@docker01 ~]# docker pull mysql:5.7
//下載mysql:5.7容器
[root@docker01 ~]# mkdir wordpress
//創建wordpress測試文件
[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
[root@docker01 wordpress]# docker-compose up -d
[root@docker01 wordpress]# docker ps
//查看容器信息
[root@docker01 wordpress]# docker logs 容器名稱
//查看容器日志
選擇語言
安裝wordpress
登陸wordpress
登陸成功后,自己就可以進行設置了
首先查看主機名是否更改
防火墻和selinux是否關閉
docker-compose命令是否安裝給予權限
docker--compose.yml 編寫是否有問題
容器執行是否正常
(如果瀏覽器訪問不到,可以添加一條路由轉發)
以上步驟之后,基本wordpress搭建和一些必備的設置就算完成了,剩下的更多是個人的選擇,每個人可能要求不同,下面就說幾點wordpress優化的建議
1.無論你是做百度seo,安裝一個SEO插件,就算不想設置文章的TDK,至少網站首頁的有必要設置一下,推薦 All in one seo pack
2.定期備份,備份的重要性不用多說,凡是丟過數據的人都會養成備份的習慣,WordPress備份網站方法
3.安裝一個安全插件,WordPress安全插件推薦
4.及時更新網站的主題和插件,WordPress插件自動更新方法
5.刪除所有沒有用的主題和插件,WordPress刪除主題方法
6.設置垃圾留言過濾,wordpress防垃圾留言插件Akismet
WordPress建站基礎主要就是這些,后面的話就是根據自己的站點進行各種設置,不同類型的站點使用主題和插件都是很大區別的。不過如果你能學會本篇所介紹的內容,相信你的站點就已經超過了絕大部分網站,好了今天教程就到這里,如果你有什么問題或者其他更好的建議,歡迎留言討論
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。