基礎(chǔ)Docker命令

1. 鏡像檢索

除了可以在Docker Hub上搜索鏡像外,還可以通過(guò)命令 docker search xxx 進(jìn)行搜索淮阐,如搜索ubuntu:

docker search ubuntu

2. 鏡像下載

下載命令的格式為:docker pull 倉(cāng)庫(kù)名/鏡像名:tag,其中tag多為系統(tǒng)的版本刁品,可選的泣特,默認(rèn)為lastest

docker pull mysql

3. 鏡像列表

獲取本地已下載鏡像列表命令:docker images

image

其中挑随,

  • RESPOSITORY倉(cāng)庫(kù)名/鏡像名
  • TAG 為鏡像版本状您,lastest 代表最新版
  • IMAGE_ID 為該鏡像唯一ID
  • CREATED 為該鏡像創(chuàng)建時(shí)間
  • SIZE 為該鏡像大小

4. 鏡像刪除

刪除指定鏡像:
docker rmi image-id
刪除所有鏡像:
docker rmi $(docker images -q)

5. 根據(jù)鏡像啟動(dòng)容器

最簡(jiǎn)單的運(yùn)行鏡像為后臺(tái)容器的命令如下:

docker run --name container-name -d image-name

運(yùn)行一個(gè)容器,使用 docker run 命令即可兜挨。

  • -- name:為容器起一個(gè)名稱
  • -d:detached竞阐,執(zhí)行完這句命令后,將在后臺(tái)運(yùn)行容器暑劝,控制臺(tái)將不會(huì)阻塞骆莹,可以繼續(xù)輸入命令操作(就是后臺(tái)運(yùn)行的意思)
  • image-name:要運(yùn)行的鏡像名稱

6. 查看運(yùn)行的容器

可通過(guò)如下命令,查看運(yùn)行中的容器列表:

docker ps

使用-a選項(xiàng)担猛,可以直接查看所有的容器幕垦,哪怕該容器已停止運(yùn)行。

查看運(yùn)行的容器
  • CONTAINER ID:?jiǎn)?dòng)時(shí)生成的ID
  • IMAGE:該容器使用的鏡像
  • COMMAND:容器啟動(dòng)時(shí)執(zhí)行的命令
  • CREATED:容器創(chuàng)建時(shí)間
  • STATUS:當(dāng)前容器狀態(tài)
  • PORTS:當(dāng)前容器所使用的默認(rèn)端口號(hào)
  • NAMES:?jiǎn)?dòng)時(shí)給容器設(shè)置的名稱

7. 停止容器的運(yùn)行

docker stop container-name/container-id

8. 啟動(dòng)一個(gè)已經(jīng)停止的容器

docker start container-name/container-id

9. 刪除容器

docker rm container-id

容器必須先停止運(yùn)行才能刪除傅联,否則命令執(zhí)行不成功先改!基于這個(gè)知識(shí)點(diǎn),我們可以直接使用一條命令刪除所有不在運(yùn)行中的容器蒸走。

docker rm $(docker ps -a -q )

10. 啟動(dòng)做端口映射的容器

Docker運(yùn)行容器之后卻發(fā)現(xiàn)沒(méi)IP仇奶,沒(méi)端口,也就是說(shuō)比驻,啟動(dòng)容器的時(shí)候如果不指定對(duì)應(yīng)參數(shù)该溯,在容器外部是無(wú)法通過(guò)網(wǎng)絡(luò)來(lái)訪問(wèn)容器內(nèi)的網(wǎng)絡(luò)應(yīng)用和服務(wù)的岛抄。 所以需要通過(guò)Docker端口映射來(lái)實(shí)現(xiàn)網(wǎng)絡(luò)訪問(wèn)。

Docker的端口映射通過(guò)-p參數(shù)實(shí)現(xiàn)狈茉,同時(shí)注意映射的順序hostport:container夫椭,命令如下:

docker run --name tomcat1 -d tomcat
docker run --name tomcat2 -d -p 8888:8080 tomcat

如上,就把主機(jī)端口8888請(qǐng)求映射到Docker容器內(nèi)部端口8080了氯庆。

執(zhí)行完這兩條命令后蹭秋,通過(guò)docker ps查看:


端口映射后的容器結(jié)果

通過(guò)PORTS可以看出,tomcat2是做了端口映射的堤撵,tomcat1是沒(méi)進(jìn)行映射過(guò)的仁讨。

分別通過(guò)瀏覽器訪問(wèn):

http://*.*.*.*:8080/ // tomcat1默認(rèn)端口

http://*.*.*.*:8888/ // 做過(guò)端口映射的Tomcat2,8888會(huì)轉(zhuǎn)發(fā)請(qǐng)求到tomcat2的8080

結(jié)果如下:
第一個(gè)請(qǐng)求是無(wú)法請(qǐng)求到的实昨,原因開篇處說(shuō)過(guò)了洞豁。
第二個(gè)請(qǐng)求是可以正常進(jìn)行請(qǐng)求的,會(huì)由tomcat2容器進(jìn)行處理屠橄。

11. 查看容器日志

查看當(dāng)前容器日志族跛,可通過(guò)如下命令:

docker logs container-id/container-name

12. 查看端口映射

可以通過(guò)如下命令查看容器映射了哪些端口及協(xié)議:

docker port container-id
端口映射情況

13. 登入和退出容器

容器的登入和退出有多種情況,需要區(qū)分開锐墙。比如礁哄,在鏡像啟動(dòng)成容器的時(shí)候直接進(jìn)入,進(jìn)入后臺(tái)啟動(dòng)的容器溪北,退出而不停止容器等桐绒。對(duì)每一種情況,他的命令都是不一樣的之拨。

13.1 創(chuàng)建容器時(shí)前臺(tái)登入

通常情況下茉继,在新手進(jìn)行容器創(chuàng)建的實(shí)驗(yàn)階段,都會(huì)執(zhí)行一條類似的命令:

docker run --name hello-docker -i -t busybox:latest /bin/bash

上面這條命令執(zhí)行后蚀乔,就會(huì)進(jìn)入一個(gè)容器的終端命令行中烁竭。此時(shí),在通過(guò)busybox鏡像創(chuàng)建容器的同時(shí)吉挣,通過(guò)-i -t選項(xiàng)派撕,用戶可以與容器交互,并且使用/bin/bash覆蓋了鏡像生成容器后要執(zhí)行的默認(rèn)操作睬魂。這條命令在實(shí)際的生產(chǎn)環(huán)境中终吼,極少數(shù)會(huì)碰到。大部分都是開發(fā)調(diào)試階段使用的氯哮。

13.2 登入一個(gè)后臺(tái)運(yùn)行的容器

在上一條命令描述的時(shí)候际跪,我們說(shuō)很少會(huì)直接在生產(chǎn)環(huán)境上直接登入鏡像初始化的容器,原因是,這樣會(huì)覆蓋默認(rèn)的鏡像啟動(dòng)入口姆打。因此良姆,啟動(dòng)鏡像大多使用-d選項(xiàng)先進(jìn)行后臺(tái)啟動(dòng)容器,進(jìn)而通過(guò)命令進(jìn)入一個(gè)運(yùn)行的容器穴肘,再執(zhí)行后續(xù)操作歇盼。

進(jìn)入一個(gè)運(yùn)行中的容器舔痕,有兩個(gè)辦法:attachexec评抚。這兩個(gè)命令用法相差不小,強(qiáng)烈建議慎用attach伯复。

docker exec -it container-id/container-name bash
docker attach -it container-id/container-name

上面的命令可以attach(附加)到一個(gè)已經(jīng)運(yùn)行的容器的stdin慨代,然后進(jìn)行命令執(zhí)行的動(dòng)作。

但是需要注意的是啸如,如果從這個(gè)stdin中執(zhí)行exit侍匙,會(huì)導(dǎo)致容器的停止。因此叮雳,如果一定要在生產(chǎn)環(huán)境使用這個(gè)命令想暗,在退出容器的時(shí)候,千萬(wàn)不要執(zhí)行exit帘不。 而是參考本章13.5進(jìn)行不關(guān)閉容器的退出方式说莫。

13.3 登入一個(gè)停止了的容器

相比上一節(jié),要登入一個(gè)已經(jīng)停止的容器寞焙,只能使用exec的命令進(jìn)行啟動(dòng)储狭。

13.4 退出而不停止容器

使用快捷鍵Ctrl + P + Q

13.5 退出并停止容器

在容器的終端內(nèi)執(zhí)行exit捣郊,會(huì)退出停止該容器辽狈。

14 在host和container之間拷貝文件

  1. docker cp 本地路徑 containerId:容器路徑:從主機(jī)拷貝到容器
  2. docker cp containerId:容器路徑 本地路徑:從容器拷貝到主機(jī)

15 鏡像保存和加載

# 保存鏡像
$ docker save --output saved-image.tar my-image:1.0.0
$ docker save my-image:1.0.0 > saved-image.tar
$ docker save my_image:my_tag | gzip > my_image.tar.gz

# 導(dǎo)入鏡像
$ docker load --input saved-image.tar
$ docker load < saved-image.tar
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市呛牲,隨后出現(xiàn)的幾起案子刮萌,更是在濱河造成了極大的恐慌,老刑警劉巖娘扩,帶你破解...
    沈念sama閱讀 217,084評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件着茸,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡畜侦,警方通過(guò)查閱死者的電腦和手機(jī)元扔,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,623評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)旋膳,“玉大人澎语,你說(shuō)我怎么就攤上這事。” “怎么了擅羞?”我有些...
    開封第一講書人閱讀 163,450評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵尸变,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我,道長(zhǎng),這世上最難降的妖魔是什么枣察? 我笑而不...
    開封第一講書人閱讀 58,322評(píng)論 1 293
  • 正文 為了忘掉前任县习,我火速辦了婚禮,結(jié)果婚禮上刮吧,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好酗昼,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,370評(píng)論 6 390
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著梳猪,像睡著了一般麻削。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上春弥,一...
    開封第一講書人閱讀 51,274評(píng)論 1 300
  • 那天呛哟,我揣著相機(jī)與錄音,去河邊找鬼匿沛。 笑死扫责,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的俺祠。 我是一名探鬼主播公给,決...
    沈念sama閱讀 40,126評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼蜘渣!你這毒婦竟也來(lái)了淌铐?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,980評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤蔫缸,失蹤者是張志新(化名)和其女友劉穎腿准,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體拾碌,經(jīng)...
    沈念sama閱讀 45,414評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡吐葱,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,599評(píng)論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了校翔。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片弟跑。...
    茶點(diǎn)故事閱讀 39,773評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖防症,靈堂內(nèi)的尸體忽然破棺而出孟辑,到底是詐尸還是另有隱情哎甲,我是刑警寧澤,帶...
    沈念sama閱讀 35,470評(píng)論 5 344
  • 正文 年R本政府宣布饲嗽,位于F島的核電站炭玫,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏貌虾。R本人自食惡果不足惜吞加,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,080評(píng)論 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望尽狠。 院中可真熱鬧衔憨,春花似錦、人聲如沸晚唇。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,713評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)哩陕。三九已至,卻和暖如春赫舒,著一層夾襖步出監(jiān)牢的瞬間悍及,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,852評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工接癌, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留心赶,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,865評(píng)論 2 370
  • 正文 我出身青樓缺猛,卻偏偏與公主長(zhǎng)得像缨叫,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子荔燎,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,689評(píng)論 2 354

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