docker-命令的整理筆記

  • docker attach: 將終端依附到容器上; 相當(dāng)于進(jìn)入到容器的 bash;

  • docker ps -a 查看容器的狀態(tài)

  • docker run -it --name ubuntu ubuntu /bin/bash: 運(yùn)行容器, 并執(zhí)行命令: /bin/bash

  • docker stop ubuntu; 停止運(yùn)行容器

  • docker start ubuntu; 重新運(yùn)行容器

  • docker build: 通過 Dockerfile 創(chuàng)建鏡像

  • docker cp: 在宿主機(jī)和容器之間相互拷貝文件:

    • docker cp [container]:[path] [dirname]

    • docker cp [dirname] [container]:[path]

    • docker cp ubuntu:/usr/local/bin/test.sh / :

    容器 ubuntu 中 /usr/local/bin/test.sh 拷貝到 / 上;

  • docker create: 創(chuàng)建一個(gè)新的容器; 此時(shí)的容器的狀態(tài) status 為 Created

  • docker diff: 查看容器內(nèi)部發(fā)生改變的文件,

    <!-- C 對(duì)應(yīng)的是文件夾, A 對(duì)應(yīng)的是文件 -->
    $ docker diff ubuntu
      C /root
      A /root/.bash_history
    
  • docker events: 實(shí)時(shí)輸出 Docker 服務(wù)端的事件, 比如: 容器的創(chuàng)建, 啟動(dòng), 關(guān)閉

    $ docker events
      2019-10-15T15:46:57.996904034+08:00 network connect  0438641bf7117fbafd5a10fa869bafcdcd88c5a15198a9dd60685f9c45b6cd0a (container=f160c880996717e99a98d668a54ea25b33e0fc77fcf170684f4749c34f481123, name=bridge, type=bridge)
    
      2019-10-15T15:46:58.642726243+08:00 container start f160c880996717e99a98d668a54ea25b33e0fc77fcf170684f4749c34f481123 (image=ubuntu:16.04, name=ubuntu)
    
  • docker exec: 用于容器啟動(dòng)之后, 執(zhí)行其他的任務(wù)

    • 通過 exec 命令可以創(chuàng)建兩種任務(wù): 后臺(tái)任務(wù)和交互型任務(wù)

    • 后臺(tái)型: docker exec -d ubuntu touch 123

    • 交互型: docker exec -it ubuntu /bin/bash: 進(jìn)入到容器的 bash

  • docker export: 將容器的文件系統(tǒng)打包成 tar 文件;

    • docker export -o ubuntu.tar ubuntu

    • docker export ubuntu > ubuntu.tar

  • docker history: 顯示鏡像制作的過程; 相當(dāng)于dockfile

  • docker import: 根據(jù) tar 文件的內(nèi)容新建一個(gè)鏡像, 與之前的 export 命令相對(duì)應(yīng)

    • docker import ubuntu.tar ubuntu:1.0.0
  • docker info: 查看 docker 的系統(tǒng)信息

  • docker inspect: 用于查看容器的配置信息, 包含容器名, 環(huán)境變量, 運(yùn)行命令, 主機(jī)配置, 網(wǎng)絡(luò)配置和數(shù)據(jù)卷的配置

  • docker kill: 強(qiáng)制終止容器,

    • 關(guān)于 stopkill 的區(qū)別,

      • docker stop 命令給容器中的進(jìn)程發(fā)送 SIGTERM 信號(hào), 默認(rèn)行為是會(huì)導(dǎo)致容器退出, 程序內(nèi)部可以捕獲這個(gè)信號(hào)并自行處理, 不一定會(huì)退出;

      • docker kill 命令, 則是給容器發(fā)送 SIGKILL 信號(hào), 這個(gè)信號(hào)會(huì)給容器必然退出;

  • docker load: 與下面的 save 命令相對(duì)應(yīng), 將下面 save 命令打包的鏡像通過 load 命令導(dǎo)入

  • docker logs : 用于查看容器日志, 將輸出到標(biāo)準(zhǔn)輸出的數(shù)據(jù)作為日志輸出到 docker logs 命令的終端上, 常用于后臺(tái)型容器

  • docker pause: 暫停容器內(nèi)的所有的進(jìn)程

    • docker stats: 可以觀察到此時(shí)的資源使用情況是固定不變的;

    • docker logs -f: 也可以看到?jīng)]有任何的 log 日志輸出

  • docker port - 輸出容器端口宿主機(jī)端口映射的情況

    [root@localhost ~]# docker port blog
      80/tcp -> 0.0.0.0:80
      <!-- 容器blog的內(nèi)部端口80映射到宿主機(jī)的80端口,這樣可通過宿主機(jī)的80端口查看容器blog提供的服務(wù) -->
    
  • docker ps: 查看正在運(yùn)行的容器, -a 查看所有的容器

  • docker pull: 從docker hub 上拉取鏡像

  • docker rename: 更改容器的名字

  • docker restart: 重啟容器

  • docker rm ubuntu; 刪除容器;

    • docker rm -f ubuntu; 強(qiáng)制刪除

    • docker rm -f docker ps -aq, -q: 只列出容器 ID

  • docker rmi: 刪除鏡像

  • docker run: 讓創(chuàng)建的容器立即進(jìn)入到運(yùn)行的狀態(tài), 該命令等于 docker create 創(chuàng)建容器之后, 再使用 docker start 啟動(dòng)容器

  • docker stats: 動(dòng)態(tài)顯示容器的資源消耗i情況: cpu, 內(nèi)存, 網(wǎng)絡(luò)I/O

  • docker tag; 對(duì)一個(gè)鏡像進(jìn)行重命名

  • docker top: 查看容器中正在運(yùn)行的進(jìn)程

  • docker unpause: 恢復(fù)容器內(nèi)暫停的進(jìn)程, 與 pause 參數(shù)相對(duì)應(yīng)

  • docker wait: 捕獲容器停止時(shí)的退出碼

docker run 的參數(shù)

  • -e/--env=[] 設(shè)置環(huán)境變量

  • --env-file=[] 讀取一個(gè)包含了環(huán)境變量的文件

  • -h/--hostname 容器的主機(jī)名

  • --link=[] 添加一個(gè)到另一個(gè)容器的連接

  • --name 容器的名字

  • --net-bridge 為容器設(shè)置網(wǎng)絡(luò)模式

  • -p 容器端口映射 eg: 8080:80

  • --privileged=false 為容器擴(kuò)展權(quán)限

當(dāng) docker run 命令時(shí), Docker 會(huì)啟動(dòng)一個(gè)進(jìn)程, 并為這個(gè)進(jìn)程分配其獨(dú)占的文件系統(tǒng), 網(wǎng)絡(luò)資源和以此進(jìn)程為根進(jìn)程的進(jìn)程組, docker run 可以覆蓋 docker build 鏡像時(shí)的一些默認(rèn)的配置,

docker run [options] image_name [command] [args...]

  • [options] 總結(jié)起來(lái)就兩類;
* 設(shè)置運(yùn)行方式, 決定容器運(yùn)行方式, 前臺(tái)還是后臺(tái), 設(shè)置 containerID; 設(shè)置網(wǎng)絡(luò)參數(shù), 設(shè)置容器的 CPU 和內(nèi)存參數(shù), 設(shè)置權(quán)限和LXC參數(shù),

* 設(shè)置鏡像的默認(rèn)資源, 用戶可以使用該命令來(lái)覆蓋構(gòu)建時(shí)的一些默認(rèn)配置

容器的網(wǎng)絡(luò)模式:

  • none: 關(guān)閉容器內(nèi)的網(wǎng)絡(luò)連接, 那么這個(gè)容器將不允許訪問任何外部 router. 這個(gè)容器內(nèi)部只會(huì)有一個(gè) loopback 的接口, 而且不存在任何可以外部網(wǎng)絡(luò)的 router;

  • Bridge: 默認(rèn)設(shè)置為 bridge 模式, 此時(shí)主機(jī)會(huì)存一個(gè) docker0 的網(wǎng)絡(luò)接口, 同時(shí)會(huì)針對(duì)容器創(chuàng)建一對(duì) veth 接口, 其中一個(gè) veth 接口是在主機(jī)充當(dāng)網(wǎng)卡橋接作用, 另一個(gè) veth 接口存在容器的命名空間中, 并且指向容器的 loopback; docker 會(huì)自動(dòng)給這個(gè)容器分配一個(gè)ip; 并且將容器內(nèi)的數(shù)據(jù)通過橋接轉(zhuǎn)發(fā)到外部

  • host: 這個(gè)容器將完全共享 host 的網(wǎng)絡(luò)堆棧, host 所有的網(wǎng)絡(luò)接口將完全對(duì)容器開發(fā), 容器的主機(jī)名也會(huì)存在于主機(jī)的 hostname 中,這時(shí), 容器所有對(duì)外暴露的端口和對(duì)其他容器的連接, 將完全無(wú)效

  • Container: 這個(gè)容器將完全服用另外一個(gè)容器的網(wǎng)絡(luò)堆棧, 同時(shí)使用這個(gè)容器的名稱必須要符合下面的格式:

    • --net container:<name|id>

命令

  • docker run -it --name ubuntu -d -link redis:redis-db ubuntu:16.04

    • 容器連接到 redis 容器, 將 redis 容器重名為 redis-db, 這樣 ubuntu 容器可以使用 db 的相關(guān)的環(huán)境變量
  • docker build -t <image_name> <dockerfile_path>

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌彬檀,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,681評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異部蛇,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)咐蝇,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,205評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門涯鲁,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人有序,你說我怎么就攤上這事抹腿。” “怎么了旭寿?”我有些...
    開封第一講書人閱讀 169,421評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵警绩,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我盅称,道長(zhǎng)肩祥,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,114評(píng)論 1 300
  • 正文 為了忘掉前任缩膝,我火速辦了婚禮混狠,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘疾层。我一直安慰自己将饺,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,116評(píng)論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著俯逾,像睡著了一般贸桶。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上桌肴,一...
    開封第一講書人閱讀 52,713評(píng)論 1 312
  • 那天皇筛,我揣著相機(jī)與錄音,去河邊找鬼坠七。 笑死水醋,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的彪置。 我是一名探鬼主播拄踪,決...
    沈念sama閱讀 41,170評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼拳魁!你這毒婦竟也來(lái)了惶桐?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,116評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤潘懊,失蹤者是張志新(化名)和其女友劉穎姚糊,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體授舟,經(jīng)...
    沈念sama閱讀 46,651評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡救恨,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,714評(píng)論 3 342
  • 正文 我和宋清朗相戀三年封拧,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了腿准。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,865評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡阔加,死狀恐怖奢啥,靈堂內(nèi)的尸體忽然破棺而出秸仙,到底是詐尸還是另有隱情,我是刑警寧澤桩盲,帶...
    沈念sama閱讀 36,527評(píng)論 5 351
  • 正文 年R本政府宣布寂纪,位于F島的核電站,受9級(jí)特大地震影響正驻,放射性物質(zhì)發(fā)生泄漏弊攘。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,211評(píng)論 3 336
  • 文/蒙蒙 一姑曙、第九天 我趴在偏房一處隱蔽的房頂上張望襟交。 院中可真熱鬧,春花似錦伤靠、人聲如沸捣域。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,699評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)焕梅。三九已至迹鹅,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間贞言,已是汗流浹背斜棚。 一陣腳步聲響...
    開封第一講書人閱讀 33,814評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留该窗,地道東北人弟蚀。 一個(gè)月前我還...
    沈念sama閱讀 49,299評(píng)論 3 379
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像酗失,于是被迫代替她去往敵國(guó)和親义钉。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,870評(píng)論 2 361

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

  • 《Docker從入門到實(shí)踐》閱讀筆記 原書地址: https://yeasy.gitbooks.io/docker...
    GuoYuebo閱讀 11,392評(píng)論 1 39
  • 一规肴、Docker 簡(jiǎn)介 Docker 兩個(gè)主要部件:Docker: 開源的容器虛擬化平臺(tái)Docker Hub: 用...
    R_X閱讀 4,393評(píng)論 0 27
  • docker常用命令詳解 - CSDN博客 本文只記錄docker命令在大部分情境下的使用捶闸,如果想了解每一個(gè)選項(xiàng)的...
    Meathill大魔王閱讀 818評(píng)論 1 2
  • 五、Docker 端口映射 無(wú)論如何拖刃,這些 ip 是基于本地系統(tǒng)的并且容器的端口非本地主機(jī)是訪問不到的删壮。此外,除了...
    R_X閱讀 1,758評(píng)論 0 7
  • 1 有聽說過騎自行車感冒的嗎? 我就是垄琐。 不知道從什么時(shí)候開始边酒,腦袋變得很脆弱,夜里窗戶關(guān)不好會(huì)頭疼狸窘,出門風(fēng)太大會(huì)...
    學(xué)心知行閱讀 372評(píng)論 3 2