DockerCompose
可以基于Compose
文件幫我們快速的部署分布式應(yīng)用,不需要我們手動(dòng)一個(gè)個(gè)創(chuàng)建和運(yùn)行容器。
Compose
文件是一個(gè)文本文件,通過指令定義集群中的每個(gè)容器如何運(yùn)行。
# Compose 文件格式有3個(gè)版本,分別為1, 2.x 和 3.x
# 目前主流的為 3.x 其支持 docker 1.13.0 及其以上的版本
version: "3.0" # 當(dāng)前DockerCompose文件版本
services: # 具體的服務(wù)定義
mysql: # mysql的配置,啟動(dòng)的容器命名為mysql
image: mysql:5.7.25
environment:
MYSQL_ROOT_PASSWORD: root
volumes:
- "/tmp/mysql/data:/var/lib/mysql"
- "/tmp/mysql/conf/hmy.cnf:/etc/mysql/conf.d/hmy.cnf"
javaapp: # 某個(gè)java工程的配置(啟動(dòng)的容器命名為javaapp)
build: .
ports:
- "8999:8999"
1.2.2 常見格式配置–從已有鏡像創(chuàng)建并運(yùn)行容器把上面mysql的配置和啟動(dòng)mysql鏡像運(yùn)行命令比較:
# mysql 鏡像啟動(dòng)命令
docker run \ # 創(chuàng)建并運(yùn)行一個(gè)容器
--name mysql \ # 給容器個(gè)名字叫mysql
-e MYSQL_ROOT_PASSWORD=root \ # 設(shè)置mysql登錄,密碼為root
-p 3306:3306 # 把宿主機(jī)3306端口和容器的3306端口相關(guān)聯(lián)
-v /mysql/conf/myLocal.cnf:/etc/mysql/conf.d \ # 宿主myLocal.cnf文件掛載到容器conf.d文件
-v /mysql/data:/var/lib/musql \ # 宿主data目錄掛載到容器mysql目錄
-d \ # 后臺(tái)運(yùn)行
mysql:5.7.25 # 需要啟動(dòng)的鏡像名稱
Compose
文件中的mysql
相當(dāng)于--name mysql
image: mysql:5.7.25
就相當(dāng)于運(yùn)行命令中對(duì)鏡像名稱的指定environment
相當(dāng)于-e
Compose
文件中沒有配置-p
端口映射,是因?yàn)槲⒎?wù)中的mysql
只需要給微服務(wù)內(nèi)部使用,無需暴露。volumes
相當(dāng)于-v
Compose
文件中沒有和運(yùn)行命令-d
后臺(tái)運(yùn)行的配置,因?yàn)槟J(rèn)就是后臺(tái)運(yùn)行,無需配置。mysql
鏡像運(yùn)行命令其實(shí)和Compose
中的指令是可以做到一一對(duì)一關(guān)系的。
這不就是把鏡像運(yùn)行命令寫到了Compose
文件當(dāng)中嗎。
這是Compose
文件中典型的從已有鏡像創(chuàng)建并運(yùn)行容器的配置寫法。
把上面javaapp的配置和把java工程構(gòu)建成鏡像并運(yùn)行命令比較:
# 基于Dockerfike構(gòu)建鏡像
docker build -t javaapp:1.0 .
# 運(yùn)行上面構(gòu)建的鏡像
docker run --name javaapp -p 8999:8999 -d javaapp:1.0
Compose
文件中javaapp
就相當(dāng)于構(gòu)建命令和運(yùn)行命令中的javaapp
Compose
文件中build
就相當(dāng)于構(gòu)建命令中的docker build
Compose
文件中.
就相當(dāng)于構(gòu)建命令中的.
,都代表當(dāng)前目錄下構(gòu)建鏡像Compose
文件中- "8999:8999"
相當(dāng)于運(yùn)行命令中的-p 8999:8999
,把宿主機(jī)端口和容器端口相關(guān)聯(lián)Compose
文件中沒有和運(yùn)行命令-d
后臺(tái)運(yùn)行的配置,因?yàn)槟J(rèn)就是后臺(tái)運(yùn)行,無需配置。Compose
文件中沒有配置java
工程的鏡像名稱,因?yàn)榫褪侵苯舆\(yùn)行構(gòu)建出來的鏡像,已經(jīng)能唯一確定了其實(shí)DockerCompose
就是把鏡像構(gòu)建和鏡像運(yùn)行等命令,轉(zhuǎn)換成指令封裝到Compose
文件當(dāng)中。
上面命令和指令的對(duì)應(yīng)關(guān)系記不住也沒關(guān)系。
配置的時(shí)候可以查看官方文檔:
https://docs.docker.com/compose/compose-file/
文檔里各種配置都寫的一清二楚。
1.3 DockerCompose部署命令部署前需要先進(jìn)入需要部署的微服務(wù)的目錄下執(zhí)行:
# up 就是啟動(dòng)
# -d 代表后臺(tái)運(yùn)行
# 整體就是按docker-compose.yml中配置的信息去部署微服務(wù)
docker-compose up -d
二、DockerCompose的安裝訪問DockerCompose在github上的發(fā)布版本
此時(shí)最新版是2.10.2
, 就以它為例。
docker-compose
二進(jìn)制文件#命令解釋:
# 從https://github.com/docker/compose/releases/download/2.10.2/docker-compose拉取二進(jìn)制文件
# 拉取的文件所放的位置為/usr/local/bin/ 并重命名為docker-compose
sudo curl -L "https://github.com/docker/compose/releases/download/v2.10.2/docker-compose-linux-x86_64" -o /usr/local/bin/docker-compose
# 上面安裝出問題就安裝下面的
curl -L https://get.daocloud.io/docker/compose/releases/download/v2.10.2/docker-compose-`uname -s`-`uname -m` >/usr/local/bin/docker-compose
1.1.2 先從github上拉取文件到本地,再上傳到Linux
點(diǎn)擊2.10.2
版本下的docker-compose-linux-x86_64
下載文件。
把文件docker-compose-linux-x86_64
重命名文件為docker-compose
。
重命名完成后使用finallshell
把文件上傳到Linux
的/usr/local/bin/
目錄下。
chmod +x /usr/local/bin/docker-compose
1.3 授予權(quán)限之后查看docker-compose版本docker-compose version
1.4 設(shè)置docker-compose命令自動(dòng)補(bǔ)全能正常顯示版本號(hào)之后。發(fā)現(xiàn)打docker-compose
命令的時(shí)候,按tab
鍵并不能幫我們補(bǔ)全命令。
如果使用docker-compose
一鍵部署集群的話,這個(gè)命令是非常常用的。沒有提示很不方便。
因此可以執(zhí)行下面命令,讓docker-compose
命令也可以被Linux
自動(dòng)提示。
curl -L https://raw.githubusercontent.com/docker/compose/1.29.1/contrib/completion/bash/docker-compose >/etc/bash_completion.d/docker-compose
如果執(zhí)行命令一直卡著下載不下來,是因?yàn)榻馕霾涣擞蛎鹯aw.githubusercontent.com
只需要在當(dāng)前服務(wù)器的host
文件中追加一句ip
和域名的映射關(guān)系即可
echo "199.232.68.133 raw.githubusercontent.com">>/etc/hosts
三、DockerCompose的卸載DockerCompose
的卸載非常簡(jiǎn)單,只需要?jiǎng)h除docker-compose
的二進(jìn)制文件就行了。
就是當(dāng)初我們上傳上來的那個(gè)docker-compose
沒有后綴的文件。
cd /usr/local/bin/
3.2 刪除docker-compose文件rm -rf /usr/local/bin/docker-compose
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧
網(wǎng)站標(biāo)題:DockerCompose安裝卸載、文件語(yǔ)法格式-創(chuàng)新互聯(lián)
文章地址:http://aaarwkj.com/article20/dgdcjo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、域名注冊(cè)、網(wǎng)站建設(shè)、App設(shè)計(jì)、網(wǎng)站內(nèi)鏈、網(wǎng)站改版
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容