docker-compose service name和container name的關系

docker-compose service name和container name的關系

問題

我們在定義docker-compose.yaml文件里面經(jīng)常會有service name和container name,這兩者有什么關系呢?

$ cat docker-compose.yaml 
version: '2'
networks:
  mynet:

services:
  linuxservice:
    image: oraclelinux
    container_name: linuxservice.example.com
    command: sleep 5000
    networks:
        - mynet 

基本概念

  1. 一個service可以擁有一個或多個container伏伯。
  2. container是docker的概念,因此我們在docker域里面乖菱,處理的是container。
  3. service是docker-compose概念抗悍, 因此我們在docker-compose域里面吃嘿,才處理的是service。(當然docker-compose也能處理container)横朋。

以上述為例:

$ docker-compose up

$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
94e6bc9e06a6        oraclelinux         "sleep 5000"        17 seconds ago      Up 15 seconds                           linuxservice.example.com

$ docker-compose stop linuxservice
Stopping linuxservice.example.com ... done

$ docker-compose start linuxservice
Starting linuxservice ... done

$ docker-compose stop linuxservice.example.com
ERROR: No such service: linuxservice.example.com

$ docker-compose start linuxservice.example.com
ERROR: No such service: linuxservice.example.com

我們可以看到docker-compose start/stop處理的service name仑乌,而不是container name。

例子1:如果container name沒有定義

$ cat docker-compose.yaml 
version: '2'
networks:
  mynet:

services:
  linuxservice:
    image: oraclelinux
   #container_name: linuxservice.example.com
    command: sleep 5000
    networks:
        - mynet 

起來之后:

$ docker-compose up
Creating network "test_mynet" with the default driver
Creating test_linuxservice_1 ... done
Attaching to test_linuxservice_1

$ docker-compose ps
       Name            Command     State   Ports
------------------------------------------------
test_linuxservice_1   sleep 5000   Up          

我們看到docker-compose自動給container分配了一個名字琴锭,其格式為:<當前工作路徑名>_<servicename>_<sequencenumber>晰甚。

sequencenumber是干什么用的呢,我們看后面的例子决帖。

例子2:一個service包含多個container

我們一次啟動5個linuxservice containers:

$ docker-compose up --scale linuxservice=5
Creating test_linuxservice_1 ... done
Creating test_linuxservice_2 ... done
Creating test_linuxservice_3 ... done
Creating test_linuxservice_4 ... done
Creating test_linuxservice_5 ... done
Attaching to test_linuxservice_1, test_linuxservice_3, test_linuxservice_2, test_linuxservice_5, test_linuxservice_4

$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
111c825dba18        oraclelinux         "sleep 5000"        38 seconds ago      Up 33 seconds                           test_linuxservice_4
c5a555dd53aa        oraclelinux         "sleep 5000"        39 seconds ago      Up 33 seconds                           test_linuxservice_5
76b377abf70a        oraclelinux         "sleep 5000"        39 seconds ago      Up 34 seconds                           test_linuxservice_2
ec5e33032dd0        oraclelinux         "sleep 5000"        39 seconds ago      Up 35 seconds                           test_linuxservice_3
b15cf589db88        oraclelinux         "sleep 5000"        39 seconds ago      Up 37 seconds                           test_linuxservice_1

這個例子中我們看到service有5個container被創(chuàng)建出來厕九,每一container的sequence是從1開始累加。

注意:

  1. 前面的docker-compose stop/start會對5個container一起操作地回。
  2. 此時就不能指定container name扁远,因為不能5個container使用同樣的container name。
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末刻像,一起剝皮案震驚了整個濱河市畅买,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌细睡,老刑警劉巖谷羞,帶你破解...
    沈念sama閱讀 218,858評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異纹冤,居然都是意外死亡洒宝,警方通過查閱死者的電腦和手機购公,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評論 3 395
  • 文/潘曉璐 我一進店門萌京,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人宏浩,你說我怎么就攤上這事知残。” “怎么了比庄?”我有些...
    開封第一講書人閱讀 165,282評論 0 356
  • 文/不壞的土叔 我叫張陵求妹,是天一觀的道長。 經(jīng)常有香客問我佳窑,道長制恍,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,842評論 1 295
  • 正文 為了忘掉前任神凑,我火速辦了婚禮净神,結果婚禮上何吝,老公的妹妹穿的比我還像新娘。我一直安慰自己鹃唯,他們只是感情好爱榕,可當我...
    茶點故事閱讀 67,857評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著坡慌,像睡著了一般黔酥。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上洪橘,一...
    開封第一講書人閱讀 51,679評論 1 305
  • 那天跪者,我揣著相機與錄音,去河邊找鬼梨树。 笑死坑夯,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的抡四。 我是一名探鬼主播柜蜈,決...
    沈念sama閱讀 40,406評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼指巡!你這毒婦竟也來了淑履?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,311評論 0 276
  • 序言:老撾萬榮一對情侶失蹤藻雪,失蹤者是張志新(化名)和其女友劉穎秘噪,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體勉耀,經(jīng)...
    沈念sama閱讀 45,767評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡指煎,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了便斥。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片至壤。...
    茶點故事閱讀 40,090評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖枢纠,靈堂內(nèi)的尸體忽然破棺而出像街,到底是詐尸還是另有隱情,我是刑警寧澤晋渺,帶...
    沈念sama閱讀 35,785評論 5 346
  • 正文 年R本政府宣布镰绎,位于F島的核電站,受9級特大地震影響木西,放射性物質發(fā)生泄漏畴栖。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,420評論 3 331
  • 文/蒙蒙 一八千、第九天 我趴在偏房一處隱蔽的房頂上張望吗讶。 院中可真熱鬧挪挤,春花似錦、人聲如沸关翎。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽纵寝。三九已至论寨,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間爽茴,已是汗流浹背葬凳。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評論 1 271
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留室奏,地道東北人火焰。 一個月前我還...
    沈念sama閱讀 48,298評論 3 372
  • 正文 我出身青樓,卻偏偏與公主長得像胧沫,于是被迫代替她去往敵國和親昌简。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,033評論 2 355

推薦閱讀更多精彩內(nèi)容