Docker常用命令

關(guān)于鏡像

獲取鏡像

docker pull [image name] [option:tag]

//獲取postgres鏡像(沒(méi)有設(shè)置鏡像版本號(hào)則默認(rèn)獲取最新的,使用`latest`標(biāo)記)
docker pull postgres
or
docker pull postgres:11.14

列出本地鏡像

docker images

指定鏡像啟動(dòng)一個(gè)容器

//運(yùn)行postgres,最后一個(gè)postgres代表使用的鏡像名稱
//POSTGRES_PASSWORD=postgres :環(huán)境變量POSTGRES_PASSWORD额衙,代表設(shè)置密碼為postgres
//postgres有關(guān)的其他環(huán)境變量可以參考:https://hub.docker.com/_/postgres
docker run -d --restart always --name postgre -e POSTGRES_PASSWORD=postgres -p 5432:5432 postgres

指定鏡像啟動(dòng)并進(jìn)入容器

docker run -it [image name] /bin/bash
or
docker run -i -t [image name] /bin/bash

偽終端,輸入exit退出容器

image.png

利用Dockerfile創(chuàng)建鏡像

  1. 創(chuàng)建目錄和Dockerfile文件
//linux命令:創(chuàng)建目錄
mkdir [director name]  ---- mkdir study
//進(jìn)入目錄
cd [director name] ---- cd study
//創(chuàng)建文件
touch [file name] ---- touch Dockerfile
  1. 編寫Dockerfile
//編輯文件
vi [file name] 按 `insert` or `i` 進(jìn)入編輯狀態(tài)
vi Dockerfile

編寫好的Dockerfile文件 , 按esc才顿,輸入 :wq 保存并退出


image.png
  1. 構(gòu)建鏡像
//“.” 是 Dockerfile 所在的路徑(當(dāng)前目錄)犁柜,也可以替換為一個(gè)具體的 Dockerfile 的路徑
docker build .
image.png

刪除本地鏡像

*注意:在刪除鏡像之前要先用 docker rm 刪掉依賴于這個(gè)鏡像的所有容器。

docker rmi [image id]
例如:docker rmi 07e2ee723e2d (07e2ee723e2d 為鏡像id)

刪除所有鏡像

docker rmi -f $(docker images -qa)

關(guān)鍵字刪除鏡像

docker rmi $(docker images | grep "關(guān)鍵字")

刪除未被使用的鏡像

docker image prune -a

關(guān)于容器

啟動(dòng)容器

//基于鏡像啟動(dòng)容器
docker run --name [container name] [image name]
//啟動(dòng)容器后臺(tái)運(yùn)行
docker run --name [container name] -d [image name]
//啟動(dòng)停止的容器 (可以寫多個(gè))
docker start [container name or id]
//重啟容器,(會(huì)把運(yùn)行中的容器停止,再重新啟動(dòng),可以寫多個(gè))
docker restart [container name or id]

查看啟動(dòng)的容器

docker ps

查看所有容器

docker ps -a

進(jìn)入啟動(dòng)后的容器

docker exec -it [container name or container id] /bin/bash
//缺點(diǎn):當(dāng)多個(gè)窗口同時(shí)attach同一個(gè)容器時(shí),所有窗口都會(huì)同步顯示.
//當(dāng)某個(gè)窗口因命令阻塞時(shí),其他窗口也無(wú)法執(zhí)行操作.
docker attach [container name or id]
//exec 和 attach的區(qū)別
attach 不會(huì)在容器中創(chuàng)建進(jìn)程執(zhí)行額外的命令朦乏,只是附著到容器上.
exec會(huì)在運(yùn)行的容器上創(chuàng)建進(jìn)程執(zhí)行新的命令.
//nsenter的方式
//要下載nsenter 的工具 util-linux
cd /tmp
wget https://www.kernel.org/pub/linux/utils/util-linux/v2.24/util-linux-2.24.tar.gz
tar -xvf util-linux-2.24.tar.gz
cd util-linux-2.24
./configure --without-ncurses
make nsenter && sudo cp nsenter /usr/local/bin


docker inspect -f {{.State.Pid}} [container id]
nsenter --target [上一個(gè)命令的輸出內(nèi)容] --mount --uts --ipc --net --pid
image.png

查看容器日志

docker logs -f [container id or name]

停止容器

docker stop [container name or id]

刪除容器

//只能刪除未運(yùn)行的容器
docker rm [container name or id]
例如:docker rm 6516c6b03ccd (6516c6b03ccd 為 容器id)
或者  docker rm redis (redis 為 容器名稱)

強(qiáng)制刪除容器(包括運(yùn)行的)

docker rm -f [container name or id]
例子同上

停用所有運(yùn)行中的容器

docker stop $(docker ps -q)

刪除全部已經(jīng)停止的容器

docker rm $(docker ps -aq)

停用并刪除所有容器

docker stop $(docker ps -q) & docker rm $(docker ps -aq)

其他

查看docker版本

docker version

運(yùn)行docker

docker run -d -p 80:80 docker/getting-started
Options Explain
-d 在后臺(tái)運(yùn)行容器
-p 設(shè)置端口映射
-a 獲取所有/指定更新的用戶信息
--restart always docker 啟動(dòng)時(shí)自動(dòng)啟動(dòng)容器
--name 設(shè)置啟動(dòng)的容器名稱
-e 指定環(huán)境變量的值
-m 指定提交的說(shuō)明信息
-i 以交互模式運(yùn)行容器,讓容器的標(biāo)準(zhǔn)輸入保持打開(kāi)氧骤,通常與 -t 同時(shí)使用
-t 為容器重新分配一個(gè)偽輸入終端呻疹,并綁定到容器的標(biāo)準(zhǔn)輸入上,通常與 -i 同時(shí)使用
-f 通過(guò) SIGKILL 信號(hào)強(qiáng)制刪除一個(gè)運(yùn)行中的容器 or 實(shí)時(shí)查看日志
-l 移除容器間的網(wǎng)絡(luò)連接筹陵,而非容器本身
-v 刪除與容器關(guān)聯(lián)的卷 or 創(chuàng)建一個(gè)數(shù)據(jù)卷并掛載到容器里
:ro 設(shè)置掛載數(shù)據(jù)卷的權(quán)限為只讀
-P 隨機(jī)映射一個(gè) 49000~49900 的端口到內(nèi)部容器開(kāi)放的網(wǎng)絡(luò)端口
-rm 用-rm 啟動(dòng)的容器 容器終止時(shí)會(huì)自動(dòng)刪除刽锤,不能和-d一起使用
--link 使容器之間進(jìn)行安全的交互
-b BRIDGE or –bridge=BRIDGE 指定容器掛載的網(wǎng)橋
–bip=CIDR 定制 docker0 的掩碼
–icc=true or false 是否支持容器之間進(jìn)行通信

歡迎補(bǔ)充

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末镊尺,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子姑蓝,更是在濱河造成了極大的恐慌鹅心,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,183評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件纺荧,死亡現(xiàn)場(chǎng)離奇詭異旭愧,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)宙暇,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門输枯,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人占贫,你說(shuō)我怎么就攤上這事桃熄。” “怎么了型奥?”我有些...
    開(kāi)封第一講書人閱讀 168,766評(píng)論 0 361
  • 文/不壞的土叔 我叫張陵瞳收,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我厢汹,道長(zhǎng)螟深,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 59,854評(píng)論 1 299
  • 正文 為了忘掉前任烫葬,我火速辦了婚禮界弧,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘搭综。我一直安慰自己垢箕,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,871評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布兑巾。 她就那樣靜靜地躺著条获,像睡著了一般。 火紅的嫁衣襯著肌膚如雪蒋歌。 梳的紋絲不亂的頭發(fā)上帅掘,一...
    開(kāi)封第一講書人閱讀 52,457評(píng)論 1 311
  • 那天,我揣著相機(jī)與錄音奋姿,去河邊找鬼。 笑死素标,一個(gè)胖子當(dāng)著我的面吹牛称诗,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播头遭,決...
    沈念sama閱讀 40,999評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼寓免,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼癣诱!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起袜香,我...
    開(kāi)封第一講書人閱讀 39,914評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤撕予,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后蜈首,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體实抡,經(jīng)...
    沈念sama閱讀 46,465評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,543評(píng)論 3 342
  • 正文 我和宋清朗相戀三年欢策,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了吆寨。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,675評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡踩寇,死狀恐怖啄清,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情俺孙,我是刑警寧澤辣卒,帶...
    沈念sama閱讀 36,354評(píng)論 5 351
  • 正文 年R本政府宣布,位于F島的核電站睛榄,受9級(jí)特大地震影響荣茫,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜懈费,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,029評(píng)論 3 335
  • 文/蒙蒙 一计露、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧憎乙,春花似錦票罐、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 32,514評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至阵谚,卻和暖如春蚕礼,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背梢什。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,616評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工奠蹬, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人嗡午。 一個(gè)月前我還...
    沈念sama閱讀 49,091評(píng)論 3 378
  • 正文 我出身青樓囤躁,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子狸演,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,685評(píng)論 2 360

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

  • 我們運(yùn)行docker容器的時(shí)候言蛇,使用了-d參數(shù),把容器在后臺(tái)運(yùn)行后宵距。 1.啟動(dòng)docker docker run ...
    nzjcnjzx閱讀 507評(píng)論 0 0
  • 1. 查看運(yùn)行容器 2. 查看所有容器 3. 進(jìn)入容器 其中字符串為容器ID: 4.停用全部運(yùn)行中的容器: 5.刪...
    SevenLonely閱讀 327評(píng)論 0 0
  • docker常用命令詳解 docker logs -t --since="2018-12-26 06:39:22"...
    xuxw閱讀 546評(píng)論 0 0
  • 本文只記錄docker命令在大部分情境下的使用腊尚,如果想了解每一個(gè)選項(xiàng)的細(xì)節(jié),請(qǐng)參考官方文檔满哪,這里只作為自己以后的備...
    wit92閱讀 179評(píng)論 0 0
  • 常用命令及其詳解 幫助命令 docker version:版本信息 docker info:查看docker詳細(xì)信...
    Minority閱讀 632評(píng)論 0 2