<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Docker 常用命令大全

          共 7149字,需瀏覽 15分鐘

           ·

          2021-11-15 01:32

          在下方公眾號后臺回復(fù):面試手冊,可獲取杰哥匯總的 3 份面試 PDF 手冊。

          本文介紹內(nèi)容包括“容器生命周期管理命令”、“容器操作命令”、“容器rootfs命令”、“鏡像倉庫命令”、“本地鏡像管理命令”和“基礎(chǔ)版本信息命令”。

          容器生命周期管理命令

          run

          創(chuàng)建一個新的容器。

          #?使用docker鏡像nginx:latest以后臺模式啟動一個容器,并將容器命名為mynginx。??
          docker?run?--name?mynginx?-d?nginx:latest??

          #?使用鏡像 nginx:latest,以后臺模式啟動一個容器,將容器的 80?端口映射到主機(jī)的 80?端口,主機(jī)的目錄?/data 映射到容器的?/data。??
          docker?run?-p?80:80?-v?/data:/data?-d?nginx:latest??

          #?使用鏡像nginx:latest以交互模式啟動一個容器,在容器內(nèi)執(zhí)行/bin/bash命令。??
          docker?run?-it?nginx:latest?/bin/bash??

          start/stop/restart

          • docker start : 啟動一個或多個已經(jīng)被停止的容器。

          • docker stop : 停止一個運行中的容器。

          • docker restart : 重啟容器。

          #?啟動已被停止的容器mynginx??
          docker?start?mynginx??

          #?停止運行中的容器mynginx??
          docker?stop?mynginx??

          #?重啟容器mynginx??
          docker?restart?mynginx??

          kill

          殺掉一個運行中的容器。可選參數(shù):

          • -s : 發(fā)送什么信號到容器,默認(rèn) KILL

          #?根據(jù)容器名字殺掉容器??
          docker?kill?tomcat7??

          #?根據(jù)容器ID殺掉容器??
          docker?kill?65d4a94f7a39??

          rm

          刪除一個或多個容器。

          #?強(qiáng)制刪除容器 db01、db02:??
          docker?rm?-f?db01?db02??

          #?刪除容器 nginx01, 并刪除容器掛載的數(shù)據(jù)卷:??
          docker?rm?-v?nginx01??

          #?刪除所有已經(jīng)停止的容器:??
          docker?rm?$(docker?ps?-a?-q)??

          create

          創(chuàng)建一個新的容器但不啟動它。

          #?使用docker鏡像nginx:latest創(chuàng)建一個容器,并將容器命名為mynginx??
          docker?create?--name?mynginx?nginx:latest?????

          exec

          在運行的容器中執(zhí)行命令。可選參數(shù):

          • -d : 分離模式: 在后臺運行

          • -i : 即使沒有附加也保持STDIN 打開

          • -t : 分配一個偽終端

          #?在容器?mynginx?中以交互模式執(zhí)行容器內(nèi)?/root/nginx.sh?腳本??
          docker?exec?-it?mynginx?/bin/sh?/root/nginx.sh??

          #?在容器?mynginx?中開啟一個交互模式的終端??
          docker?exec?-i?-t??mynginx?/bin/bash??

          #?也可以通過 docker ps -a 命令查看已經(jīng)在運行的容器,然后使用容器 ID 進(jìn)入容器。??
          docker?ps?-a???
          docker?exec?-it?9df70f9a0714?/bin/bash??

          pause/unpause

          • docker pause :暫停容器中所有的進(jìn)程。

          • docker unpause :恢復(fù)容器中所有的進(jìn)程。

          #?暫停數(shù)據(jù)庫容器db01提供服務(wù)。??
          docker?pause?db01??

          #?恢復(fù)數(shù)據(jù)庫容器?db01?提供服務(wù)??
          docker?unpause?db0??

          容器操作命令

          ps

          列出容器。可選參數(shù):

          • -a : 顯示所有的容器,包括未運行的。

          • -f : 根據(jù)條件過濾顯示的內(nèi)容。

          • –format : 指定返回值的模板文件。

          • -l : 顯示最近創(chuàng)建的容器。

          • -n : 列出最近創(chuàng)建的n個容器。

          • –no-trunc : 不截斷輸出。

          • -q : 靜默模式,只顯示容器編號。

          • -s : 顯示總的文件大小。

          #?列出所有在運行的容器信息。??
          docker?ps??

          #?列出最近創(chuàng)建的5個容器信息。??
          docker?ps?-n?5??

          #?列出所有創(chuàng)建的容器ID。??
          docker?ps?-a?-q??

          補(bǔ)充說明:容器的7種狀態(tài):created(已創(chuàng)建)、restarting(重啟中)、running(運行中)、removing(遷移中)、paused(暫停)、exited(停止)、dead(死亡)。

          inspect

          獲取容器/鏡像的元數(shù)據(jù)。可選參數(shù):

          • -f : 指定返回值的模板文件。

          • -s : 顯示總的文件大小。

          • –type : 為指定類型返回JSON。

          #?獲取鏡像mysql:5.7的元信息。??
          docker?inspect?mysql:5.7??

          #?獲取正在運行的容器mymysql的 IP。??
          docker?inspect?--format='{{range?.NetworkSettings.Networks}}{{.IPAddress}}{{end}}'?mymysql??

          top

          查看容器中運行的進(jìn)程信息,支持 ps 命令參數(shù)。

          #?查看容器mymysql的進(jìn)程信息。??
          docker?top?mymysql??

          #?查看所有運行容器的進(jìn)程信息。??
          for?i?in??`docker?ps?|grep?Up|awk?'{print?$1}'`;do?echo?\?&&docker?top?$i;?done??

          events

          獲取實時事件。參數(shù)說明:

          • -f :根據(jù)條件過濾事件;

          • –since :從指定的時間戳后顯示所有事件;

          • –until :流水時間顯示到指定的時間為止;

          #?顯示docker 2016年7月1日后的所有事件。??
          docker?events??--since="1467302400"??

          #?顯示docker 鏡像為mysql:5.6 2016年7月1日后的相關(guān)事件。??
          docker?events?-f?"image"="mysql:5.6"?--since="1467302400"???

          說明:如果指定的時間是到秒級的,需要將時間轉(zhuǎn)成時間戳。如果時間為日期的話,可以直接使用,如–since=“2016-07-01”。

          logs

          獲取容器的日志。參數(shù)說明:

          • -f : 跟蹤日志輸出

          • –since : 顯示某個開始時間的所有日志

          • -t : 顯示時間戳

          • –tail : 僅列出最新N條容器日志

          #?跟蹤查看容器mynginx的日志輸出。??
          docker?logs?-f?mynginx??

          #?查看容器mynginx從2016年7月1日后的最新10條日志。??
          docker?logs?--since="2016-07-01"?--tail=10?mynginx??

          export

          將文件系統(tǒng)作為一個tar歸檔文件導(dǎo)出到STDOUT。參數(shù)說明:

          • -o : 將輸入內(nèi)容寫到文件。

          #?將id為a404c6c174a2的容器按日期保存為tar文件。??
          docker?export?-o?mysql-`date?+%Y%m%d`.tar?a404c6c174a2??

          ls?mysql-`date?+%Y%m%d`.tar??

          port

          列出指定的容器的端口映射。

          #?查看容器mynginx的端口映射情況。??
          docker?port?mymysql??

          容器rootfs命令

          commit

          從容器創(chuàng)建一個新的鏡像。參數(shù)說明:

          • -a : 提交的鏡像作者;

          • -c : 使用Dockerfile指令來創(chuàng)建鏡像;

          • -m : 提交時的說明文字;

          • -p : 在commit時,將容器暫停。

          #?將容器a404c6c174a2 保存為新的鏡像,并添加提交人信息和說明信息。??
          docker?commit?-a?"guodong"?-m?"my?db"?a404c6c174a2??mymysql:v1???

          cp

          用于容器與主機(jī)之間的數(shù)據(jù)拷貝。參數(shù)說明:

          • -L : 保持源目標(biāo)中的鏈接

          #?將主機(jī)/www/runoob目錄拷貝到容器96f7f14e99ab的/www目錄下。??
          docker?cp?/www/runoob?96f7f14e99ab:/www/??

          #?將主機(jī)/www/runoob目錄拷貝到容器96f7f14e99ab中,目錄重命名為www。??
          docker?cp?/www/runoob?96f7f14e99ab:/www??

          #?將容器96f7f14e99ab的/www目錄拷貝到主機(jī)的/tmp目錄中。??
          docker?cp??96f7f14e99ab:/www?/tmp/??

          diff

          檢查容器里文件結(jié)構(gòu)的更改。

          #?查看容器mymysql的文件結(jié)構(gòu)更改。??
          docker?diff?mymysql??

          鏡像倉庫命令

          login/logout

          docker login : 登陸到一個Docker鏡像倉庫,如果未指定鏡像倉庫地址,默認(rèn)為官方倉庫 Docker Hubdocker logout : 登出一個Docker鏡像倉庫,如果未指定鏡像倉庫地址,默認(rèn)為官方倉庫 Docker Hub參數(shù)說明:

          • -u : 登陸的用戶名

          • -p : 登陸的密碼

          #?登陸到Docker?Hub??
          docker?login?-u?用戶名?-p?密碼??

          #?登出Docker?Hub??
          docker?logout??

          pull

          從鏡像倉庫中拉取或者更新指定鏡像。參數(shù)說明:

          • -a : 拉取所有 tagged 鏡像

          • –disable-content-trust : 忽略鏡像的校驗,默認(rèn)開啟

          #?從Docker Hub下載java最新版鏡像。??
          docker?pull?java??

          #?從Docker Hub下載REPOSITORY為java的所有鏡像。??
          docker?pull?-a?java??

          push

          將本地的鏡像上傳到鏡像倉庫,要先登陸到鏡像倉庫。參數(shù)說明:

          • –disable-content-trust : 忽略鏡像的校驗,默認(rèn)開啟

          #?上傳本地鏡像myapache:v1到鏡像倉庫中。??
          docker?push?myapache:v1??

          search

          從Docker Hub查找鏡像。參數(shù)說明:

          • –automated : 只列出 automated build類型的鏡像;

          • –no-trunc : 顯示完整的鏡像描述;

          • -f <過濾條件>: 列出指定條件的鏡像。

          #?從?Docker?Hub?查找所有鏡像名包含?java,并且收藏數(shù)大于?10?的鏡像??
          docker?search?-f?stars=10?java??

          NAME??????????????????DESCRIPTION???????????????????????????STARS???OFFICIAL???AUTOMATED??
          java??????????????????Java?is?a?concurrent,?class-based...???1037????[OK]?????????
          anapsix/alpine-java???Oracle?Java?8?(and?7)?with?GLIBC?...???115????????????????[OK]??
          develar/java?????????????????????????????????????????????????46?????????????????[OK]??

          每列參數(shù)說明:

          • NAME: 鏡像倉庫源的名稱

          • DESCRIPTION: 鏡像的描述

          • OFFICIAL: 是否 docker 官方發(fā)布

          • stars: 類似 Github 里面的 star,表示點贊、喜歡的意思

          • AUTOMATED: 自動構(gòu)建

          本地鏡像管理命令

          images

          列出本地鏡像。參數(shù)說明:

          • -a : 列出本地所有的鏡像(含中間映像層,默認(rèn)情況下,過濾掉中間映像層);

          • –digests : 顯示鏡像的摘要信息;

          • -f : 顯示滿足條件的鏡像;

          • –format : 指定返回值的模板文件;

          • –no-trunc : 顯示完整的鏡像信息;

          • -q : 只顯示鏡像ID。

          #?查看本地鏡像列表。??
          docker?images??

          #?列出本地鏡像中REPOSITORY為ubuntu的鏡像列表。??
          docker?images??ubuntu??

          rmi

          刪除本地一個或多個鏡像。參數(shù)說明:

          • -f : 強(qiáng)制刪除;

          • –no-prune : 不移除該鏡像的過程鏡像,默認(rèn)移除;

          #?強(qiáng)制刪除本地鏡像 guodong/ubuntu:v4。??
          docker?rmi?-f?guodong/ubuntu:v4??

          tag

          標(biāo)記本地鏡像,將其歸入某一倉庫。

          #?將鏡像ubuntu:15.10標(biāo)記為 runoob/ubuntu:v3 鏡像。??
          docker?tag?ubuntu:15.10?runoob/ubuntu:v3??

          build

          用于使用 Dockerfile 創(chuàng)建鏡像。參數(shù)說明:

          • –build-arg=[] : 設(shè)置鏡像創(chuàng)建時的變量;

          • –cpu-shares : 設(shè)置 cpu 使用權(quán)重;

          • –cpu-period : 限制 CPU CFS周期;

          • –cpu-quota : 限制 CPU CFS配額;

          • –cpuset-cpus : 指定使用的CPU id;

          • –cpuset-mems : 指定使用的內(nèi)存 id;

          • –disable-content-trust : 忽略校驗,默認(rèn)開啟;

          • -f : 指定要使用的Dockerfile路徑;

          • –force-rm : 設(shè)置鏡像過程中刪除中間容器;

          • –isolation : 使用容器隔離技術(shù);

          • –label=[] : 設(shè)置鏡像使用的元數(shù)據(jù);

          • -m : 設(shè)置內(nèi)存最大值;

          • –memory-swap : 設(shè)置Swap的最大值為內(nèi)存+swap,"-1"表示不限swap;

          • –no-cache : 創(chuàng)建鏡像的過程不使用緩存;

          • –pull : 嘗試去更新鏡像的新版本;

          • –quiet, -q : 安靜模式,成功后只輸出鏡像 ID;

          • –rm : 設(shè)置鏡像成功后刪除中間容器;

          • –shm-size : 設(shè)置/dev/shm的大小,默認(rèn)值是64M;

          • –ulimit : Ulimit配置。

          • –squash : 將 Dockerfile 中所有的操作壓縮為一層。

          • –tag, -t: 鏡像的名字及標(biāo)簽,通常 name:tag 或者 name 格式;可以在一次構(gòu)建中為一個鏡像設(shè)置多個標(biāo)簽。

          • –network: 默認(rèn) default。在構(gòu)建期間設(shè)置RUN指令的網(wǎng)絡(luò)模式

          #?使用當(dāng)前目錄的?Dockerfile?創(chuàng)建鏡像,標(biāo)簽為?runoob/ubuntu:v1??
          docker?build?-t?runoob/ubuntu:v1?.???

          #?使用URL?github.com/creack/docker-firefox?的?Dockerfile?創(chuàng)建鏡像??
          docker?build?github.com/creack/docker-firefox??

          #?通過?-f?Dockerfile文件的位置?創(chuàng)建鏡像??
          docker?build?-f?/path/to/a/Dockerfile?.??

          history

          查看指定鏡像的創(chuàng)建歷史。參數(shù)說明:

          • -H : 以可讀的格式打印鏡像大小和日期,默認(rèn)為true;

          • –no-trunc : 顯示完整的提交記錄;

          • -q : 僅列出提交記錄ID。

          #?查看本地鏡像 guodong/ubuntu:v3 的創(chuàng)建歷史。??
          docker?history?guodong/ubuntu:v3??

          save

          將指定鏡像保存成 tar 歸檔文件。參數(shù)說明:

          • -o : 輸出到的文件。

          #?將鏡像?runoob/ubuntu:v3?生成?my_ubuntu_v3.tar?文檔??
          docker?save?-o?my_ubuntu_v3.tar?runoob/ubuntu:v3??

          load

          導(dǎo)入使用 docker save 命令導(dǎo)出的鏡像。參數(shù)說明:

          • –input , -i : 指定導(dǎo)入的文件,代替 STDIN。

          • –quiet , -q : 精簡輸出信息。

          #?導(dǎo)入鏡像??
          docker?load?--input?fedora.tar??

          import

          從歸檔文件中創(chuàng)建鏡像。參數(shù)說明:

          • -c : 應(yīng)用docker 指令創(chuàng)建鏡像;

          • -m : 提交時的說明文字;

          #?從鏡像歸檔文件my_ubuntu_v3.tar創(chuàng)建鏡像,命名為runoob/ubuntu:v4??
          docker?import??my_ubuntu_v3.tar?runoob/ubuntu:v4????

          基礎(chǔ)版本信息命令

          info

          顯示 Docker 系統(tǒng)信息,包括鏡像和容器數(shù)。

          #?查看docker系統(tǒng)信息。??
          docker?info??

          version

          顯示 Docker 版本信息。

          docker?version??

          作者 | 圈圈
          來源 | 網(wǎng)絡(luò)技術(shù)干貨圈?

          推薦閱讀

          Docker鏡像瘦身:從1.43G到22.4MB


          全面詳解 Dockerfile 文件!


          史上講解最好的 Docker 教程,從入門到精通(建議收藏的教程)


          Docker 極簡入門指南,10 分鐘就能看懂~


          Docker 容器技術(shù)使用指南

          瀏覽 45
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  亚洲欧洲免费看 | 在线久操| 欧美丰满老妇性猛交 | 日本无码一级A片毛 | 老鸭窝在线成人免费观看 |