docker常用命令

鏡像(image)命令:

? ? ? ? docker images 查看鏡像信息

? ? ? ? docker search ubuntu:16.04??從docker hub搜索ubuntu 16.04的鏡像

? ? ? ? docker pull ubuntu:16.04? 從docker hub下載ubuntu 16.04的鏡像

? ? ? ? docker push 將本地鏡像上傳到docker hub

? ??????docker history image.name 查看構(gòu)建歷史

? ? ? ? docker rmi ubuntu 刪除本地的ubuntu鏡像

? ? ? ? docker tag 給鏡像打tag

? ? ? ? 構(gòu)建鏡像的兩種方式:

? ? ? ? ? ? ????1. docker commit? container_name? image_name

? ? ? ? ? ? ? ? 2. 通過Dockerfile 構(gòu)建

? ? ? ? ? ? ? ? ? ? ? ? FROM ubuntu

? ? ? ? ? ? ? ? ? ? ? ? RUN apt-get update && apt install vim

? ? ? ? ? ? ? ? ? ? ? ? 通過 docker build -t image.name . 命令構(gòu)建 -t后為鏡像名

? ? ? ? ? ? ? ? ? ? ? ? 通過 docker history image.name 命令查看構(gòu)建歷史

? ? ? ? ? ? ? ? ? ? ? ? 如果不希望在構(gòu)建鏡像時使用緩存,可以在docker build命令中加上--no-cache參數(shù)

? ? ? ? ? ? ? ? ????????Dockerfile常用指令:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? FROM? 指定base鏡像

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? MAINTAINER? 設置鏡像的作者,可以是任意字符串

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? COPY? 將文件從build contest 復制到鏡像, COPY src dest?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ADD? 與COPY類似逗物, 從build context 復制文件到鏡像厨剪。不同的是攒砖,如果時壓縮文件會被自動解壓

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ENV? 設置環(huán)境變量

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? EXPOSE? 指定容器中的進程會監(jiān)聽某個端口,docker可以將該端口暴露出來

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? VOLUME? 將文件或目錄聲明為volume

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? WORKDIR? 為后面的RUN CMD ENTRYPOINT ADD COPY指令設定鏡像中的當前工作目錄

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? RUN? 在容器中運行指定的命令陨囊,? ? RUN指令通常用于安裝應用和軟件包逗抑。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? CMD 容器啟動時運行指定的命令 剧辐,CMD可以被docker run 之后的參數(shù)替換。? ? ?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ENTRYPOINT Dockerfile中可以有多個ENTRYPOINT指令邮府,但只有最后一個生效荧关。CMD或docker run 之后的參數(shù)會被當做參數(shù)傳遞給ENTRYPOINT。

? ? ? ? 構(gòu)建本地倉庫:

? ? ? ? ? ? ? ? docker run -d -p 5000:5000 -v /localregistry:/var/lib/registry registry

? ? ? ? ? ? ? ? -d 后臺啟動容器

? ? ? ? ? ? ? ? -p 將容器的5000端口映射到host的5000端口挟纱。5000 是registry的服務端口羞酗。

? ? ? ? ? ? ? ? -v 將容器/var/lib/registry 目錄映射到host的/localregistry腐宋。 用于存放鏡像數(shù)據(jù)


容器(Container)命令:

? ? ? ? docker ps 或docker container ls 來查看Docker host 中當前運行的容器

????????docker ps -a 或docker container ls -a 來查看Docker host 中所有的容器?

? ? ? ? docker create 創(chuàng)建一個容器紊服,這是容器處于Created狀態(tài)

? ? ? ? docker stop 停止一個容器

? ? ? ? docker kill 快速停止一個容器

? ? ? ? docker start 重啟一個停止的容器

? ? ? ? docker restart 相當于 docker stop + docker start

? ? ? ? docker attach 直接進入容器啟動命令的終端,不會啟動新的進程

? ? ? ? docker exec 則是在容器中打開新的終端胸竞,并且可以啟動新的進程欺嗤,執(zhí)行這個命令進入通過 -d啟動的服務類容器, 如數(shù)據(jù)庫

? ? ? ? docker logs? ? 輸出容器中執(zhí)行的命令?

? ? ? ? docker rename 重命名容器

? ? ? ? docker run 建立一個新的容器卫枝, 相當與 docker create + docker start

? ? ? ? docker run 命令時煎饼,可以通過 --restart=always 讓容器無論已何種原因退出(包括正常退出和因某種錯誤停止運行),都立即重啟 , 即除了docker stop 和docker kill命令之外

? ? ? ? docker pause? ?讓容器暫停工作校赤,出與暫停狀態(tài)的容器不會占用cpu

? ? ? ? docker unpause 回復暫停的容器

? ? ? ? docker rm 刪除容器

? ? ? ? docker run -m 200M --memory-swap=300M ubuntu 允許該容器使用200Mb的內(nèi)存和100Mb的swap,如果不指定--memory-swap 則 --memory-swap默認為 -m的兩倍


網(wǎng)絡(Network)命令

? ? ? ? docker 在安裝時自動為我們創(chuàng)建none吆玖、host、bridge三種網(wǎng)絡马篮, 通過--network命令指定沾乘,默認bridge模式

? ? ? ? docker 還提供三種user-defined網(wǎng)絡驅(qū)動: bridge、overlay浑测、 macvlan,其中overlay和macvla 用于創(chuàng)建跨主機的網(wǎng)絡翅阵。

? ? ? ? docker network create --driver bridge my_net 創(chuàng)建名為my_net的bridge網(wǎng)絡歪玲,還可以通過--subnet命令來指定ip網(wǎng)段,通過--gateway參數(shù)來指定網(wǎng)關

? ??????docker network inspect my_net 查看網(wǎng)絡信息?

? ? ? ? 容器要使用新的網(wǎng)絡,需要在啟動時通過--network指定掷匠,如docker run --network=my_net ubuntu --ip 172.18.0.2 ubuntu:lasted

? ? ? ? 當我們想固定容器的ip地址(即靜態(tài)ip)滥崩,只有使用--subnet創(chuàng)建的網(wǎng)絡才可以,?

? ? ? ? 默認情況下兩個不同網(wǎng)絡的容器是不能互相訪問的讹语,但我們可以 docker network connect my_net container 來實現(xiàn)二者的連接

? ? ? ? docker dns server 使容器通過容器名進行通信钙皮,不過只適用于user-defined網(wǎng)絡中? ? ? ??

? ? ? ? joined 容器使兩個或多個容器共享一個網(wǎng)絡棧,共享網(wǎng)卡與配置信息顽决, docker run -d -it --name=web1 httpd 再創(chuàng)建一個容器并通過 --network=container:web1 httpd?

? ? ? ? 容器是默認可以訪問外網(wǎng)的株灸,外部世界則通過端口映射來訪問容器


存儲命令

? ? ? ?容器由最上面的一個可寫層和若干個只讀的鏡像組成,容器的數(shù)據(jù)就存放在這些層中擎值。這樣的分層結(jié)構(gòu)最大的特性為Copy-on-write.

? ? ? ? 對于有持久化數(shù)據(jù)的需求慌烧,容器啟動時需要加載已有的數(shù)據(jù),容器銷毀時需要保留產(chǎn)生的新數(shù)據(jù)鸠儿,這就用到了的docker的一種存儲機制: Date Volume, Date Volume本質(zhì)上是Docker Host 文件系統(tǒng)中的目錄或者文件屹蚊,能夠直接被mount到容器中。????????

????????目前docker提供了兩種類型的volume:

? ? ? ? ? ? ? ? 1. bind mount

? ? ? ? ? ? ? ? ? ? ? ? docker run -it -v <host path>:<container path> ubuntu

? ? ? ? ? ? ? ? ? ? ? ? bind mount 還可以指定數(shù)據(jù)的讀寫權(quán)限进每,莫認是可讀可寫汹粤,可指定為只讀, 如

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? docker run -v <host path>:<container path>:ro

? ? ? ? ? ? ? ? ? ? ? ? bind mount還支持對單個文件的bind

? ? ? ? ? ? ? ? ? ? ? ? 不同的容器可以通過bind mount 共用一個文件系統(tǒng)

? ? ? ? ? ? ? ? 2 docker managed volume

? ? ? ? ? ? ? ? ? ? ? ? docker managed volume 具有更好的移植性

? ? ? ? ? ? ? ? ? ? ? ? 通過命令 docker run -v <container path> ubuntu

? ? ? ? ? ? ? ? ? ? ? ? docker 會在host上/var/lib/docker/volumes/目錄下創(chuàng)建一個目錄保存容器中的文件

? ? ? ? ? ? ? ? ? ? ? ? docker volume ls 查看host中已有的數(shù)據(jù)卷

? ? ? ? ? ? ? ? ? ? ? ? docker volume inspect volume:id查看該數(shù)據(jù)卷的詳細信息

? ? ? ? ? ? ? ? ? ? ? ? docker managed volume 不支持單個文件田晚,也不能進行權(quán)限控制嘱兼,不支持指定文件位置,但其移植性強贤徒,無需指定host目錄

????????volume container 是專門為其他容器提供volume的容器芹壕。它提供的卷可以使bind mount, 也可以是docker managed volume接奈。下面我們創(chuàng)建一個volume container

? ? ? ? ? ? ? ? docker create --name vc_data -v <host path>:<container path> ubuntu

? ? ? ? ? ? ? ? 之所以用create 命令踢涌,這是因為volume container 之提供數(shù)據(jù),不需要處于運行狀態(tài)序宦。

? ? ? ? ? ? ? ? 其他容器可以通過 --volumes-from 使用剛剛創(chuàng)建的volume container

? ? ? ? ? ? ? ? docker run --volumes-from va_data ubuntu

? ? ? ? ? ? ? ? 與bind mount 相比睁壁,不必為每個容器制定host path,所有的path都在volume container 中定義好了

? ? ? ? data-packed volume container 與 volume container 相比互捌,將放在host里的數(shù)據(jù) 放到了鏡像中潘明,其具有較強的可移植性。


docker machine

安裝docker-machine

base=https://github.com/docker/machine/releases/download/v0.16.0&& curl -L $base/docker-machine-$(uname-s)-$(uname-m)>/tmp/docker-machine&& sudo install /tmp/docker-machine /usr/local/bin/docker-machine

創(chuàng)建docker machine

docker-machine create --driver generic --generic-ip-address=192.168.1.63 host1

docker-machine env host1

eval $(docker-machine env host1)

docker-machine upgrade

docker-machine config 查看machine的docker daemon 配置

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末秕噪,一起剝皮案震驚了整個濱河市钳降,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌巢价,老刑警劉巖牲阁,帶你破解...
    沈念sama閱讀 222,627評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件固阁,死亡現(xiàn)場離奇詭異,居然都是意外死亡城菊,警方通過查閱死者的電腦和手機备燃,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,180評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來凌唬,“玉大人并齐,你說我怎么就攤上這事】退埃” “怎么了况褪?”我有些...
    開封第一講書人閱讀 169,346評論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長更耻。 經(jīng)常有香客問我测垛,道長,這世上最難降的妖魔是什么秧均? 我笑而不...
    開封第一講書人閱讀 60,097評論 1 300
  • 正文 為了忘掉前任食侮,我火速辦了婚禮,結(jié)果婚禮上目胡,老公的妹妹穿的比我還像新娘锯七。我一直安慰自己,他們只是感情好誉己,可當我...
    茶點故事閱讀 69,100評論 6 398
  • 文/花漫 我一把揭開白布眉尸。 她就那樣靜靜地躺著,像睡著了一般巨双。 火紅的嫁衣襯著肌膚如雪噪猾。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,696評論 1 312
  • 那天炉峰,我揣著相機與錄音畏妖,去河邊找鬼。 笑死疼阔,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的半夷。 我是一名探鬼主播婆廊,決...
    沈念sama閱讀 41,165評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼巫橄!你這毒婦竟也來了淘邻?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,108評論 0 277
  • 序言:老撾萬榮一對情侶失蹤湘换,失蹤者是張志新(化名)和其女友劉穎宾舅,沒想到半個月后统阿,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,646評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡筹我,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,709評論 3 342
  • 正文 我和宋清朗相戀三年扶平,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蔬蕊。...
    茶點故事閱讀 40,861評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡结澄,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出岸夯,到底是詐尸還是另有隱情麻献,我是刑警寧澤,帶...
    沈念sama閱讀 36,527評論 5 351
  • 正文 年R本政府宣布猜扮,位于F島的核電站勉吻,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏旅赢。R本人自食惡果不足惜餐曼,卻給世界環(huán)境...
    茶點故事閱讀 42,196評論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望鲜漩。 院中可真熱鬧源譬,春花似錦、人聲如沸孕似。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,698評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽喉祭。三九已至养渴,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間泛烙,已是汗流浹背理卑。 一陣腳步聲響...
    開封第一講書人閱讀 33,804評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留蔽氨,地道東北人藐唠。 一個月前我還...
    沈念sama閱讀 49,287評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像鹉究,于是被迫代替她去往敵國和親宇立。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,860評論 2 361

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

  • docker常用命令詳解 - CSDN博客 本文只記錄docker命令在大部分情境下的使用自赔,如果想了解每一個選項的...
    Meathill大魔王閱讀 818評論 1 2
  • 本文只記錄docker命令在大部分情境下的使用妈嘹,如果想了解每一個選項的細節(jié),請參考官方文檔绍妨,這里只作為自己以后的備...
    Joncc閱讀 279評論 0 0
  • 本文只記錄docker命令在大部分情境下的使用润脸,如果想了解每一個選項的細節(jié)柬脸,請參考官方文檔,這里只作為自己以后的備...
    BestbpF閱讀 276評論 0 0
  • Docker常用命令使用 docker ps列出容器使用語法:docker ps [options]options...
    StrongZhao閱讀 641評論 0 0
  • 尼采:當你在凝視深淵的時候毙驯,深淵也正在凝視著你倒堕。 他最近發(fā)現(xiàn)一個人,總是像粘在腳底的口香糖隨時吸引著他的注意力尔苦,而...
    顏人青閱讀 895評論 2 4