<kbd id="5sdj3"></kbd>
<th id="5sdj3"></th>

  • <dd id="5sdj3"><form id="5sdj3"></form></dd>
    <td id="5sdj3"><form id="5sdj3"><big id="5sdj3"></big></form></td><del id="5sdj3"></del>

  • <dd id="5sdj3"></dd>
    <dfn id="5sdj3"></dfn>
  • <th id="5sdj3"></th>
    <tfoot id="5sdj3"><menuitem id="5sdj3"></menuitem></tfoot>

  • <td id="5sdj3"><form id="5sdj3"><menu id="5sdj3"></menu></form></td>
  • <kbd id="5sdj3"><form id="5sdj3"></form></kbd>

    Docker常用命令大全

    共 7117字,需瀏覽 15分鐘

     ·

    2021-11-05 17:45

    點(diǎn)擊上方視學(xué)算法”,選擇加"星標(biāo)"或“置頂

    重磅干貨,第一時(shí)間送達(dá)

    作者 | 圈圈
    來(lái)源 | 網(wǎng)絡(luò)技術(shù)干貨圈?
    編輯 | 極市平臺(tái)

    導(dǎo)讀

    ?

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

    容器生命周期管理命令

    run

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

    #?使用docker鏡像nginx:latest以后臺(tái)模式啟動(dòng)一個(gè)容器,并將容器命名為mynginx。??
    docker?run?--name?mynginx?-d?nginx:latest??
    ??
    #?使用鏡像 nginx:latest,以后臺(tái)模式啟動(dòng)一個(gè)容器,將容器的 80?端口映射到主機(jī)的 80?端口,主機(jī)的目錄?/data 映射到容器的?/data。??
    docker?run?-p?80:80?-v?/data:/data?-d?nginx:latest??
    ??
    #?使用鏡像nginx:latest以交互模式啟動(dòng)一個(gè)容器,在容器內(nèi)執(zhí)行/bin/bash命令。??
    docker?run?-it?nginx:latest?/bin/bash??

    start/stop/restart

    • docker start : 啟動(dòng)一個(gè)或多個(gè)已經(jīng)被停止的容器。
    • docker stop : 停止一個(gè)運(yùn)行中的容器。
    • docker restart : 重啟容器。
    #?啟動(dòng)已被停止的容器mynginx??
    docker?start?mynginx??
    ??
    #?停止運(yùn)行中的容器mynginx??
    docker?stop?mynginx??
    ??
    #?重啟容器mynginx??
    docker?restart?mynginx??

    kill

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

    • -s : 發(fā)送什么信號(hào)到容器,默認(rèn) KILL
    #?根據(jù)容器名字殺掉容器??
    docker?kill?tomcat7??
    ??
    #?根據(jù)容器ID殺掉容器??
    docker?kill?65d4a94f7a39??

    rm

    刪除一個(gè)或多個(gè)容器。

    #?強(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)建一個(gè)新的容器但不啟動(dòng)它。

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

    exec

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

    • -d : 分離模式: 在后臺(tái)運(yùn)行
    • -i : 即使沒(méi)有附加也保持STDIN 打開(kāi)
    • -t : 分配一個(gè)偽終端
    #?在容器?mynginx?中以交互模式執(zhí)行容器內(nèi)?/root/nginx.sh?腳本??
    docker?exec?-it?mynginx?/bin/sh?/root/nginx.sh??
    ??
    #?在容器?mynginx?中開(kāi)啟一個(gè)交互模式的終端??
    docker?exec?-i?-t??mynginx?/bin/bash??
    ??
    #?也可以通過(guò) docker ps -a 命令查看已經(jīng)在運(yùn)行的容器,然后使用容器 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ù)庫(kù)容器db01提供服務(wù)。??
    docker?pause?db01??
    ??
    #?恢復(fù)數(shù)據(jù)庫(kù)容器?db01?提供服務(wù)??
    docker?unpause?db0??

    容器操作命令

    ps

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

    • -a : 顯示所有的容器,包括未運(yùn)行的。
    • -f : 根據(jù)條件過(guò)濾顯示的內(nèi)容。
    • –format : 指定返回值的模板文件。
    • -l : 顯示最近創(chuàng)建的容器。
    • -n : 列出最近創(chuàng)建的n個(gè)容器。
    • –no-trunc : 不截?cái)噍敵觥?/section>
    • -q : 靜默模式,只顯示容器編號(hào)。
    • -s : 顯示總的文件大小。
    #?列出所有在運(yùn)行的容器信息。??
    docker?ps??
    ??
    #?列出最近創(chuàng)建的5個(gè)容器信息。??
    docker?ps?-n?5??
    ??
    #?列出所有創(chuàng)建的容器ID。??
    docker?ps?-a?-q??

    補(bǔ)充說(shuō)明:

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

    inspect

    獲取容器/鏡像的元數(shù)據(jù)??蛇x參數(shù):

    • -f : 指定返回值的模板文件。
    • -s : 顯示總的文件大小。
    • –type : 為指定類(lèi)型返回JSON。
    #?獲取鏡像mysql:5.7的元信息。??
    docker?inspect?mysql:5.7??
    ??
    #?獲取正在運(yùn)行的容器mymysql的 IP。??
    docker?inspect?--format='{{range?.NetworkSettings.Networks}}{{.IPAddress}}{{end}}'?mymysql??

    top

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

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

    events

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

    • -f : 根據(jù)條件過(guò)濾事件;
    • –since : 從指定的時(shí)間戳后顯示所有事件;
    • –until : 流水時(shí)間顯示到指定的時(shí)間為止;
    #?顯示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"???

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

    logs

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

    • -f : 跟蹤日志輸出
    • –since : 顯示某個(gè)開(kāi)始時(shí)間的所有日志
    • -t : 顯示時(shí)間戳
    • –tail : 僅列出最新N條容器日志
    #?跟蹤查看容器mynginx的日志輸出。??
    docker?logs?-f?mynginx??
    ??
    #?查看容器mynginx從2016年7月1日后的最新10條日志。??
    docker?logs?--since="2016-07-01"?--tail=10?mynginx??

    export

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

    • -o : 將輸入內(nèi)容寫(xiě)到文件。
    #?將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)建一個(gè)新的鏡像。參數(shù)說(shuō)明:

    • -a : 提交的鏡像作者;
    • -c : 使用Dockerfile指令來(lái)創(chuàng)建鏡像;
    • -m : 提交時(shí)的說(shuō)明文字;
    • -p : 在commit時(shí),將容器暫停。
    #?將容器a404c6c174a2 保存為新的鏡像,并添加提交人信息和說(shuō)明信息。??
    docker?commit?-a?"guodong"?-m?"my?db"?a404c6c174a2??mymysql:v1???

    cp

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

    • -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??

    鏡像倉(cāng)庫(kù)命令

    login/logout

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

    • -u : 登陸的用戶名
    • -p : 登陸的密碼
    #?登陸到Docker?Hub??
    docker?login?-u?用戶名?-p?密碼??
    ??
    #?登出Docker?Hub??
    docker?logout??

    pull

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

    • -a : 拉取所有 tagged 鏡像
    • –disable-content-trust : 忽略鏡像的校驗(yàn),默認(rèn)開(kāi)啟
    #?從Docker Hub下載java最新版鏡像。??
    docker?pull?java??
    ??
    #?從Docker Hub下載REPOSITORY為java的所有鏡像。??
    docker?pull?-a?java??

    push

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

    • –disable-content-trust : 忽略鏡像的校驗(yàn),默認(rèn)開(kāi)啟
    #?上傳本地鏡像myapache:v1到鏡像倉(cāng)庫(kù)中。??
    docker?push?myapache:v1??

    search

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

    • –automated : 只列出 automated build類(lèi)型的鏡像;
    • –no-trunc : 顯示完整的鏡像描述;
    • -f <過(guò)濾條件>: 列出指定條件的鏡像。
    #?從?Docker?Hub?查找所有鏡像名包含?java,并且收藏?cái)?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ù)說(shuō)明:

    • NAME: 鏡像倉(cāng)庫(kù)源的名稱
    • DESCRIPTION: 鏡像的描述
    • OFFICIAL: 是否 docker 官方發(fā)布
    • stars: 類(lèi)似 Github 里面的 star,表示點(diǎn)贊、喜歡的意思
    • AUTOMATED: 自動(dòng)構(gòu)建

    本地鏡像管理命令

    images

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

    • -a : 列出本地所有的鏡像(含中間映像層,默認(rèn)情況下,過(guò)濾掉中間映像層);
    • –digests : 顯示鏡像的摘要信息;
    • -f : 顯示滿足條件的鏡像;
    • –format : 指定返回值的模板文件;
    • –no-trunc : 顯示完整的鏡像信息;
    • -q : 只顯示鏡像ID。
    #?查看本地鏡像列表。??
    docker?images??
    ??
    #?列出本地鏡像中REPOSITORY為ubuntu的鏡像列表。??
    docker?images??ubuntu??

    rmi

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

    • -f : 強(qiáng)制刪除;
    • –no-prune : 不移除該鏡像的過(guò)程鏡像,默認(rèn)移除;
    #?強(qiáng)制刪除本地鏡像 guodong/ubuntu:v4。??
    docker?rmi?-f?guodong/ubuntu:v4??

    tag

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

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

    build

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

    • –build-arg=[] : 設(shè)置鏡像創(chuàng)建時(shí)的變量;
    • –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 : 忽略校驗(yàn),默認(rèn)開(kāi)啟;
    • -f : 指定要使用的Dockerfile路徑;
    • –force-rm : 設(shè)置鏡像過(guò)程中刪除中間容器;
    • –isolation : 使用容器隔離技術(shù);
    • –label=[] : 設(shè)置鏡像使用的元數(shù)據(jù);
    • -m : 設(shè)置內(nèi)存最大值;
    • –memory-swap : 設(shè)置Swap的最大值為內(nèi)存+swap,"-1"表示不限swap;
    • –no-cache : 創(chuàng)建鏡像的過(guò)程不使用緩存;
    • –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)建中為一個(gè)鏡像設(shè)置多個(gè)標(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??
    ??
    #?通過(guò)?-f?Dockerfile文件的位置?創(chuàng)建鏡像??
    docker?build?-f?/path/to/a/Dockerfile?.??

    history

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

    • -H : 以可讀的格式打印鏡像大小和日期,默認(rèn)為true;
    • –no-trunc : 顯示完整的提交記錄;
    • -q : 僅列出提交記錄ID。
    #?查看本地鏡像 guodong/ubuntu:v3 的創(chuàng)建歷史。??
    docker?history?guodong/ubuntu:v3??

    save

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

    • -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ù)說(shuō)明:

    • –input , -i : 指定導(dǎo)入的文件,代替 STDIN。
    • –quiet , -q : 精簡(jiǎn)輸出信息。
    #?導(dǎo)入鏡像??
    docker?load?--input?fedora.tar??

    import

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

    • -c : 應(yīng)用docker 指令創(chuàng)建鏡像;
    • -m : 提交時(shí)的說(shuō)明文字;
    #?從鏡像歸檔文件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??

    如果覺(jué)得有用,就請(qǐng)分享到朋友圈吧!


    點(diǎn)個(gè)在看 paper不斷!

    瀏覽 67
    點(diǎn)贊
    評(píng)論
    收藏
    分享

    手機(jī)掃一掃分享

    分享
    舉報(bào)
    評(píng)論
    圖片
    表情
    推薦
    點(diǎn)贊
    評(píng)論
    收藏
    分享

    手機(jī)掃一掃分享

    分享
    舉報(bào)

    <kbd id="5sdj3"></kbd>
    <th id="5sdj3"></th>

  • <dd id="5sdj3"><form id="5sdj3"></form></dd>
    <td id="5sdj3"><form id="5sdj3"><big id="5sdj3"></big></form></td><del id="5sdj3"></del>

  • <dd id="5sdj3"></dd>
    <dfn id="5sdj3"></dfn>
  • <th id="5sdj3"></th>
    <tfoot id="5sdj3"><menuitem id="5sdj3"></menuitem></tfoot>

  • <td id="5sdj3"><form id="5sdj3"><menu id="5sdj3"></menu></form></td>
  • <kbd id="5sdj3"><form id="5sdj3"></form></kbd>
    无码Aⅴ | 啊啊啊啊啊在线 | 天天躁日日躁狠狠 | 国产综合17网在线 | 国产精品一卡2卡3卡4卡5卡免费网站 |