DockerCompose安裝卸載、文件語(yǔ)法格式-創(chuàng)新互聯(lián)

DockerCompose安裝卸載、文件語(yǔ)法格式 一、DockerCompose的概念和作用 1.1 相關(guān)概念

DockerCompose可以基于Compose文件幫我們快速的部署分布式應(yīng)用,不需要我們手動(dòng)一個(gè)個(gè)創(chuàng)建和運(yùn)行容器。

10年積累的網(wǎng)站設(shè)計(jì)、做網(wǎng)站經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶(hù)對(duì)網(wǎng)站的新想法和需求。提供各種問(wèn)題對(duì)應(yīng)的解決方案。讓選擇我們的客戶(hù)得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有祿勸免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

Compose文件是一個(gè)文本文件,通過(guò)指令定義集群中的每個(gè)容器如何運(yùn)行。

1.2 Compose文件的格式 1.2.1 dcoker-compose.yml文件的格式示例
# 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 常見(jiàn)格式配置–從已有鏡像創(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)的鏡像名稱(chēng)
  • Compose文件中的mysql相當(dāng)于--name mysql
  • image: mysql:5.7.25就相當(dāng)于運(yùn)行命令中對(duì)鏡像名稱(chēng)的指定
  • environment相當(dāng)于-e
  • Compose文件中沒(méi)有配置-p端口映射,是因?yàn)槲⒎?wù)中的mysql只需要給微服務(wù)內(nèi)部使用,無(wú)需暴露。
    • 這一步可以看業(yè)務(wù)情況決定要不要暴露
  • volumes相當(dāng)于-v
  • Compose文件中沒(méi)有和運(yùn)行命令-d后臺(tái)運(yùn)行的配置,因?yàn)槟J(rèn)就是后臺(tái)運(yùn)行,無(wú)需配置。

mysql鏡像運(yùn)行命令其實(shí)和Compose中的指令是可以做到一一對(duì)一關(guān)系的。

這不就是把鏡像運(yùn)行命令寫(xiě)到了Compose文件當(dāng)中嗎。

這是Compose文件中典型的從已有鏡像創(chuàng)建并運(yùn)行容器的配置寫(xiě)法。

1.2.3 常見(jiàn)格式配置–構(gòu)建鏡像并基于構(gòu)建的鏡像創(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文件中沒(méi)有和運(yùn)行命令-d后臺(tái)運(yùn)行的配置,因?yàn)槟J(rèn)就是后臺(tái)運(yùn)行,無(wú)需配置。
  • Compose文件中沒(méi)有配置java工程的鏡像名稱(chēng),因?yàn)榫褪侵苯舆\(yùn)行構(gòu)建出來(lái)的鏡像,已經(jīng)能唯一確定了
1.2.4 小結(jié)

其實(shí)DockerCompose就是把鏡像構(gòu)建和鏡像運(yùn)行等命令,轉(zhuǎn)換成指令封裝到Compose文件當(dāng)中。

上面命令和指令的對(duì)應(yīng)關(guān)系記不住也沒(méi)關(guān)系。

配置的時(shí)候可以查看官方文檔:

https://docs.docker.com/compose/compose-file/

文檔里各種配置都寫(xiě)的一清二楚。

1.3 DockerCompose部署命令

部署前需要先進(jìn)入需要部署的微服務(wù)的目錄下執(zhí)行:

# up 就是啟動(dòng)
# -d 代表后臺(tái)運(yùn)行
# 整體就是按docker-compose.yml中配置的信息去部署微服務(wù)
docker-compose up -d
二、DockerCompose的安裝

訪問(wèn)DockerCompose在github上的發(fā)布版本

在這里插入圖片描述

此時(shí)最新版是2.10.2, 就以它為例。

1.1 安裝包獲取方式 1.1.1 線上直接下載docker-compose二進(jìn)制文件
#命令解釋?zhuā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

# 上面安裝出問(wèn)題就安裝下面的
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/目錄下。

在這里插入圖片描述

1.2 給docker-compose文件授予可執(zhí)行權(quán)限
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è)命令是非常常用的。沒(méi)有提示很不方便。

因此可以執(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í)行命令一直卡著下載不下來(lái),是因?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)初我們上傳上來(lái)的那個(gè)docker-compose沒(méi)有后綴的文件。

3.1 進(jìn)入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://bm7419.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)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(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í)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁(yè)設(shè)計(jì)公司