【現(xiàn)學(xué)現(xiàn)忘Docker基礎(chǔ)】— 13.Docker常用命令:容器常用命令(四)

13窗价、進(jìn)入正在運(yùn)行的容器并以命令行交互

我們通常使用容器的方式都是后臺(tái)運(yùn)行模式,如果需要進(jìn)入容器屈糊,則有兩種方式钱烟。

  • docker attach 容器ID
  • docker exec -it 容器ID /bin/bash(常用)

查詢當(dāng)前虛擬機(jī)的鏡像

[root@192 ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED        SIZE
centos       latest    300e315adb2f   3 months ago   209MB

啟動(dòng)centos鏡像,并ctrl+P+Q退出容器

[root@192 ~]# docker run -it 300e315adb2f 
[root@31281b319328 /]# 
[root@192 ~]#

# 查看當(dāng)前宿主機(jī)中正在運(yùn)行的容器
[root@192 ~]# docker ps
CONTAINER ID   IMAGE          COMMAND       CREATED         STATUS         PORTS     
31281b319328   300e315adb2f   "/bin/bash"   3 minutes ago   Up 3 minutes             

方式一

命令:docker attach 容器ID

# 通過docker attach進(jìn)入正在運(yùn)行的容器中
[root@192 ~]# docker attach 31281b319328
[root@31281b319328 /]# ls 
bin  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
[root@31281b319328 /]# ll
bash: ll: command not found
[root@31281b319328 /]# ls -l
total 0
lrwxrwxrwx.   1 root root   7 Nov  3 15:22 bin -> usr/bin
drwxr-xr-x.   5 root root 360 Mar 16 12:11 dev
drwxr-xr-x.   1 root root  66 Mar 16 12:11 etc
drwxr-xr-x.   2 root root   6 Nov  3 15:22 home
lrwxrwxrwx.   1 root root   7 Nov  3 15:22 lib -> usr/lib
lrwxrwxrwx.   1 root root   9 Nov  3 15:22 lib64 -> usr/lib64
drwx------.   2 root root   6 Dec  4 17:37 lost+found
drwxr-xr-x.   2 root root   6 Nov  3 15:22 media
drwxr-xr-x.   2 root root   6 Nov  3 15:22 mnt
drwxr-xr-x.   2 root root   6 Nov  3 15:22 opt
dr-xr-xr-x. 124 root root   0 Mar 16 12:11 proc
dr-xr-x---.   2 root root 162 Dec  4 17:37 root
drwxr-xr-x.  11 root root 163 Dec  4 17:37 run
lrwxrwxrwx.   1 root root   8 Nov  3 15:22 sbin -> usr/sbin
drwxr-xr-x.   2 root root   6 Nov  3 15:22 srv
dr-xr-xr-x.  13 root root   0 Mar 16 03:17 sys
drwxrwxrwt.   7 root root 145 Dec  4 17:37 tmp
drwxr-xr-x.  12 root root 144 Dec  4 17:37 usr
drwxr-xr-x.  20 root root 262 Dec  4 17:37 var
[root@31281b319328 /]# pwd
/

我們可以看到進(jìn)入到容器可以正常的執(zhí)行Linux命令眶俩。

提示:在啟動(dòng)centos鏡像的時(shí)候莹汤,不加/bin/bash也可以,因?yàn)槟J(rèn)就是/bin/bash命令格式颠印。

方式二

命令:docker exec -it 容器ID /bin/bash(常用)

注意:這個(gè)命令的/bin/bash必須加纲岭。

# 通過docker exec 進(jìn)入正在運(yùn)行的容器中
[root@192 ~]# docker exec -it 31281b319328 /bin/bash
[root@31281b319328 /]#

# 執(zhí)行Linux命令
[root@31281b319328 /]# pwd
/
[root@31281b319328 /]# ls -l /tmp/
total 8
-rwx------. 1 root root 701 Dec  4 17:37 ks-script-esd4my7v
-rwx------. 1 root root 671 Dec  4 17:37 ks-script-eusq_sc5

docker exec命令中可以直接加對(duì)容器的操作命令,如下:

# 在docker exec命令的結(jié)尾加入`ls -l /tmp`Linux命令
[root@192 ~]# docker exec -it 31281b319328 ls -l /tmp
total 8
-rwx------. 1 root root 701 Dec  4 17:37 ks-script-esd4my7v
-rwx------. 1 root root 671 Dec  4 17:37 ks-script-eusq_sc5
[root@192 ~]# 

可以看到

  1. 在末尾追加Linux命令的時(shí)候线罕,不要寫/bin/bash止潮。我寫了,執(zhí)行命令并沒有反應(yīng)钞楼。
  2. Linux命令容器中執(zhí)行完成后喇闸,命令提示符還是會(huì)到宿主機(jī)上,也就是完成了不關(guān)閉容器退出询件。

attach和exec的區(qū)別

attach:

  • 不會(huì)在容器中創(chuàng)建進(jìn)程燃乍,來執(zhí)行額外的命令,只是進(jìn)入到容器中宛琅。
  • 如果執(zhí)行exit命令退出容器刻蟹,容器會(huì)停止運(yùn)行。

exec:

  • 會(huì)在運(yùn)行的容器上嘿辟,創(chuàng)建進(jìn)程座咆,來執(zhí)行新的命令痢艺。
  • 如果執(zhí)行exit命令退出容器,不會(huì)導(dǎo)致容器停止運(yùn)行介陶。

14堤舒、從容器內(nèi)拷貝文件到主機(jī)上

命令:docker cp 容器ID:容器內(nèi)路徑 目的主機(jī)的路徑

如下圖:


示例:

先查看宿主機(jī)/home目錄中的內(nèi)容:

[root@192 ~]# ll /home/
總用量 0

可以看到?jīng)]有任何文件

開始從容器內(nèi)拷貝文件到主機(jī)上:

# 1.查看宿主機(jī)上的鏡像
[root@192 ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED        SIZE
centos       latest    300e315adb2f   3 months ago   209MB

# 2.啟動(dòng)centos鏡像
[root@192 ~]# docker run -it centos

# 3.進(jìn)入容器的/home/目錄,查看目錄中的內(nèi)容
[root@f68cb580db71 /]# cd /home/
[root@f68cb580db71 home]# ls -l
total 0

# 4.在容器內(nèi)的/home/目錄中哺呜,新建一個(gè)文件test.py
[root@f68cb580db71 home]# touch test.py
[root@f68cb580db71 home]# ls -l
total 0
-rw-r--r--. 1 root root 0 Mar 16 13:43 test.py

# 5.將容器內(nèi)的/home/目錄中test.py文件舌缤,拷貝到宿主機(jī)的/home/目錄中
# 5.1 先退回到宿主機(jī)上,容器可以是運(yùn)行狀態(tài)某残,也可以是停止?fàn)顟B(tài)
[root@f68cb580db71 home]# exit
exit
[root@192 ~]# 
# 5.2 執(zhí)行拷貝命令国撵,下面命令/home/改文件名,也是可以的玻墅。
[root@192 ~]# docker cp f68cb580db71:/home/test.py /home
# 5.3 查看宿主機(jī)/home/目錄介牙,已經(jīng)從容器中拷貝過來了test.py文件
[root@192 ~]# ls -l /home/
總用量 0
-rw-r--r--. 1 root root 0 3月  16 21:43 test.py

提示:

拷貝是一個(gè)手動(dòng)的過程,未來我們使用-v數(shù)據(jù)卷的技術(shù)澳厢,可以實(shí)現(xiàn)自動(dòng)同步环础。

比如容器內(nèi)的/home目錄和宿主機(jī)的/home目錄進(jìn)行聯(lián)通同步。

Docker的命令是十分多的剩拢,上面我們學(xué)習(xí)的那些都是最常用的线得,且關(guān)于的容器和鏡像的命令,之后我們還會(huì)學(xué)習(xí)很多命令徐伐。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末贯钩,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子办素,更是在濱河造成了極大的恐慌角雷,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,839評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件性穿,死亡現(xiàn)場離奇詭異勺三,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)季二,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來揭措,“玉大人胯舷,你說我怎么就攤上這事“砗” “怎么了桑嘶?”我有些...
    開封第一講書人閱讀 153,116評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長躬充。 經(jīng)常有香客問我逃顶,道長讨便,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,371評(píng)論 1 279
  • 正文 為了忘掉前任以政,我火速辦了婚禮霸褒,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘盈蛮。我一直安慰自己废菱,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,384評(píng)論 5 374
  • 文/花漫 我一把揭開白布抖誉。 她就那樣靜靜地躺著殊轴,像睡著了一般。 火紅的嫁衣襯著肌膚如雪袒炉。 梳的紋絲不亂的頭發(fā)上旁理,一...
    開封第一講書人閱讀 49,111評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音我磁,去河邊找鬼孽文。 笑死,一個(gè)胖子當(dāng)著我的面吹牛十性,可吹牛的內(nèi)容都是我干的叛溢。 我是一名探鬼主播,決...
    沈念sama閱讀 38,416評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼劲适,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼楷掉!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起霞势,我...
    開封第一講書人閱讀 37,053評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤烹植,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后愕贡,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體草雕,經(jīng)...
    沈念sama閱讀 43,558評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,007評(píng)論 2 325
  • 正文 我和宋清朗相戀三年固以,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了墩虹。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,117評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡憨琳,死狀恐怖诫钓,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情篙螟,我是刑警寧澤菌湃,帶...
    沈念sama閱讀 33,756評(píng)論 4 324
  • 正文 年R本政府宣布,位于F島的核電站遍略,受9級(jí)特大地震影響惧所,放射性物質(zhì)發(fā)生泄漏骤坐。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,324評(píng)論 3 307
  • 文/蒙蒙 一下愈、第九天 我趴在偏房一處隱蔽的房頂上張望纽绍。 院中可真熱鬧,春花似錦驰唬、人聲如沸顶岸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽辖佣。三九已至,卻和暖如春搓逾,著一層夾襖步出監(jiān)牢的瞬間卷谈,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評(píng)論 1 262
  • 我被黑心中介騙來泰國打工霞篡, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留世蔗,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,578評(píng)論 2 355
  • 正文 我出身青樓朗兵,卻偏偏與公主長得像污淋,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子余掖,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,877評(píng)論 2 345

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