成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何構(gòu)建Docker Compose文件?

譯文
云計(jì)算
Docker Compose是用于定義和運(yùn)行多容器Docker應(yīng)用程序的工具。換句話說(shuō),如果你要定義一個(gè)需要多個(gè)Docker容器才能運(yùn)行的服務(wù),Docker Compose這個(gè)工具可能適合你。

【51CTO.com快譯】Docker Compose是用于定義和運(yùn)行多容器Docker應(yīng)用程序的工具。換句話說(shuō),如果你要定義一個(gè)需要多個(gè)Docker容器才能運(yùn)行的服務(wù),Docker Compose這個(gè)工具可能適合你。

但你如何使用Docker Compose?一旦安裝了它和Docker守護(hù)程序,如何部署那些容器化應(yīng)用程序?Docker Compose依賴docker-compose.yml文件(反過(guò)來(lái),該文件與Dockerfile一起使用)。

如何構(gòu)建Docker Compose文件?

我將盡量簡(jiǎn)單地為你細(xì)述這個(gè)問(wèn)題,以便你了解如何自行構(gòu)建基本的Docker Compose文件。

你需要什么?

你唯一需要的是:

  • 擁有Docker和docker-compose的運(yùn)行實(shí)例的服務(wù)器。
  • 屬于Docker組的用戶。

Docker Compose如何工作?

簡(jiǎn)而言之:Docker Compose構(gòu)建一堆應(yīng)用程序以運(yùn)行完整的服務(wù)。docker-compose.yml文件分幾個(gè)部分,每個(gè)部分代表一個(gè)容器,每個(gè)容器與其他容器組合以創(chuàng)建服務(wù)。比如說(shuō),你可能有一個(gè)包含這兩個(gè)部分的docker-compose.yml文件:

  • web——應(yīng)用程序的Web服務(wù)器部分。
  • db——應(yīng)用程序的數(shù)據(jù)庫(kù)服務(wù)器部分。

每個(gè)部分由不同的組件組成。又由于你可能需要很特定的Web部分,可以指示docker-compose將在Dockerfile中定義Web部分。實(shí)際上,就docker-compose而言,你可以包含多個(gè)Dockerfiles以構(gòu)建很復(fù)雜的堆棧。不過(guò)我們將構(gòu)建一個(gè)很簡(jiǎn)單的堆棧,以便輕松入手。

所以,不妨創(chuàng)建包含web和db兩部分的這個(gè)docker-compose.yml文件。我們將使用NGINX和MySQL來(lái)創(chuàng)建一個(gè)輕松用于開(kāi)發(fā)目的的堆棧。

  1. docker-compose.yml文件 

我們要做的第一件事是創(chuàng)建一個(gè)新文件。我們將在剛創(chuàng)建的目錄中創(chuàng)建該文件。執(zhí)行命令mkdir ~/docker-build。使用命令cd ~/docker-build切換到那個(gè)剛創(chuàng)建的目錄。一旦進(jìn)入該目錄,使用以下命令創(chuàng)建新的docker-compose.yml文件:

  1. nano docker-compose.yml 

請(qǐng)記住,這是一個(gè)YAML文件,因此格式必須一致(否則構(gòu)建將失敗)。

先要做的是添加文件標(biāo)題。在文件頂部,添加以下內(nèi)容:

  1. version: '3' 

這指示Docker Compose我們?cè)谑褂迷摴ぞ叩陌姹?。下一行將指示Docker Compose以下內(nèi)容將是要部署的服務(wù)。這由以下來(lái)定義:

  1. services: 

到目前為止,文件是:

  1. version : '3'  
  2. services: 

我們要定義的第一個(gè)部分是堆棧的web部分。我們可以用兩行簡(jiǎn)單的代碼完成這一步:

  1. web:  
  2. image: nginx 

上面執(zhí)行的操作是指示Docker Compose使用官方的Nginx映像來(lái)部署一個(gè)容器。我們沒(méi)有為該容器做任何特別的操作。它很基礎(chǔ)。

下一個(gè)部分是定義數(shù)據(jù)庫(kù)。這部分來(lái)得復(fù)雜一點(diǎn),因?yàn)槲覀円渲帽匾膮?shù),數(shù)據(jù)庫(kù)才能正常運(yùn)行。我們先以此來(lái)定義這部分:

  1. db: 

下一步,我們以下列內(nèi)容指示Docker Compose將MySQL映像用于該數(shù)據(jù)庫(kù):

  1. image:mysql 

現(xiàn)在我們定義供數(shù)據(jù)庫(kù)使用的外部端口和內(nèi)部端口。為此,我們將使用默認(rèn)的MySQL端口,并予以定義:

  1. ports:  
  2. "3306:3306" 

最后我們配置數(shù)據(jù)庫(kù)環(huán)境。環(huán)境是數(shù)據(jù)庫(kù)的配置選項(xiàng)(密碼、用戶和數(shù)據(jù)庫(kù)名稱)。這部分看起來(lái)像這樣:

  1. environment: 
  2.  
  3. - MYSQL_ROOT_PASSWORD=password1  
  4. - MYSQL_USER=user  
  5. - MYSQL_PASSWORD=password2  
  6. - MYSQL_DATABASE=database 

其中:

  • password1是MySQL管理員用戶的密碼。
  • user是新的MySQL用戶。
  • password2是新的MySQL用戶的密碼。
  • database是要使用的數(shù)據(jù)庫(kù)的名稱。

上述每個(gè)都將由你來(lái)定義。確保使用獨(dú)特的強(qiáng)密碼,以確保你的堆棧安全。

把這個(gè)文件組合起來(lái)看起來(lái)就像這樣:

  1. version: '3' 
  2.  
  3. services: 
  4.  
  5. web: 
  6.  
  7. image: nginx 
  8.  
  9. db:  
  10. image: mysql 
  11.  
  12. ports: 
  13. "3306:3306" 
  14.  
  15. environment:  
  16. - MYSQL_ROOT_PASSWORD=password  
  17. - MYSQL_USER=user  
  18. - MYSQL_PASSWORD=password  
  19. - MYSQL_DATABASE=demodb 

記住,文件結(jié)構(gòu)必須一致,所以要小心縮進(jìn)。

保存并關(guān)閉該文件。

用Docker Compose來(lái)構(gòu)建應(yīng)用程序

我們已構(gòu)建好了docker-compose.yml文件,是時(shí)候構(gòu)建應(yīng)用程序了。由于這是很簡(jiǎn)單的應(yīng)用程序,它基本上部署兩個(gè)容器:Web服務(wù)器和數(shù)據(jù)庫(kù)。如何使用那兩個(gè)容器取決于你。當(dāng)然,你可以開(kāi)發(fā)自己的映像(比如自定義的Nginx和MySQL映像,它們可以無(wú)縫協(xié)同運(yùn)行,以創(chuàng)建獨(dú)特的服務(wù)或應(yīng)用程序)。在本文中,我們就使用默認(rèn)映像(為了演示)。

現(xiàn)在,想構(gòu)建堆棧,請(qǐng)回到終端窗口,確保你在構(gòu)建目錄中,然后執(zhí)行命令:

  1. docker-compose up 

上述命令將部署web容器和db容器。如果只運(yùn)行該命令,容器將以附加模式來(lái)部署,那樣不會(huì)返回bash提示符。如果你想以分離模式來(lái)運(yùn)行,要執(zhí)行該命令:

  1. docker-compose up -d 

運(yùn)行完畢后,你將看到容器ID列了出來(lái)(圖A)。

如何構(gòu)建Docker Compose文件?
圖A:我們的容器在運(yùn)行

想確保容器在運(yùn)行,請(qǐng)執(zhí)行該命令:

  1. docker-compose ps 

你會(huì)看到容器的名稱、命令、狀態(tài)和端口列了出來(lái)(圖B)。

如何構(gòu)建Docker Compose文件?
圖B:docker-compose ps命令的輸出結(jié)果

恭喜你,你剛使用Docker Compose部署了第一個(gè)容器“堆棧”。是的,這個(gè)例子非常簡(jiǎn)單,但它應(yīng)該讓你開(kāi)始踏上漫長(zhǎng)而充實(shí)的旅程。下一回,我們將創(chuàng)建一個(gè)更復(fù)雜的docker-compose.yml文件,它與Dockerfile一起運(yùn)行。

原文標(biāo)題:How to build a Docker Compose file,作者:Jack Wallen

【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文譯者和出處為51CTO.com】

責(zé)任編輯:未麗燕 來(lái)源: 51CTO.com
相關(guān)推薦

2022-08-27 15:27:34

LinuxdockerCompose

2017-05-23 15:53:52

docker服務(wù)容器

2019-09-17 08:00:24

DockerCompose命令

2022-07-28 15:10:34

UbuntuDocker

2022-11-19 09:30:31

開(kāi)源容器

2023-06-25 08:12:02

2023-10-11 06:50:32

Oracle數(shù)據(jù)庫(kù)系統(tǒng)

2024-02-20 08:08:43

2014-08-11 10:15:01

Docker開(kāi)發(fā)環(huán)境

2023-11-02 08:45:07

2018-05-04 15:18:01

DockerDocker Comp容器

2023-10-10 00:09:14

2024-03-26 00:00:01

2023-03-26 09:08:36

2023-11-06 13:11:22

Docker映像Builkit

2022-07-08 22:23:40

DaprRedis分布式

2024-01-17 08:01:28

Docker語(yǔ)法命令

2025-04-14 08:00:00

Docker命令運(yùn)維

2021-02-23 15:05:55

Docker鏡像開(kāi)發(fā)

2025-01-26 16:57:02

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 99综合在线| 你懂的在线视频播放 | 成人国产精品免费观看 | 成人av鲁丝片一区二区小说 | 欧美一区在线视频 | 综合五月| 国产在线观看一区二区 | 麻豆久久久久久久 | 大吊一区二区 | 亚洲一区电影 | 成人日韩av | 色婷婷在线视频 | 一色桃子av一区二区 | 中文字幕av亚洲精品一部二部 | 五月婷婷亚洲 | 涩涩导航 | 国产精品成人一区二区 | 国产午夜精品一区二区三区嫩草 | 日韩欧美一区二区三区免费看 | www.日韩av.com| 91精品国产一区二区在线观看 | 久草电影网 | 亚洲aⅴ精品 | 在线观看视频一区二区三区 | 特一级黄色毛片 | 国产一区二区三区在线看 | 日韩成人av在线 | 欧美性高潮 | 男女啪啪网址 | 婷婷色国产偷v国产偷v小说 | 亚洲欧美一区二区三区在线 | 国产一级在线观看 | 欧美综合国产精品久久丁香 | 亚洲一页 | 亚洲成人免费视频 | 国产免费拔擦拔擦8x高清 | 黄色毛片视频 | 国产高清在线 | 久久国产精品免费一区二区三区 | 请别相信他免费喜剧电影在线观看 | h视频免费在线观看 |