10 個冷門卻實用的Docker使用技巧

2021-02-20 21ic電子網

在平時的工作中,docker 接觸得很多,除了經常使用的 docker run ,docker stop 等命令,docker 還有很多十分有用但是卻不經常使用的命令,下面就來總結一下:

1. docker top

這個命令是用來查看一個容器裡面的進程信息的,比如你想查看一個 nginx 容器裡面有幾個 nginx 進程的時候,就可以這麼做:

docker top 3b307a09d20d
UID      PID    PPID    C    STIME  TTY    TIME       CMD
root     805    787     0    Jul13   ?   00:00:00  nginx: master process nginx -g daemon off;
systemd+ 941     805     0   Jul13    ?   00:03:18  nginx: worker process

2. docker load && docker save

我一般使用這兩個命令去下載打包 Kubernetes 的鏡像,因為你知道的國內的網速並不像國外那麼快。

docker save 可以把一個鏡像保存到 tar 文件中,你可以這麼做:

~ docker save registry:2.7.1 >registry-2.7.1.tar
#同時 docker load 可以把鏡像從 tar 文件導入到 docker 中
~ docker load < registry-2.7.1.tar

3. docker search

這個命令可以幫助你在命令行中方便的搜索 DockerHub 中的鏡像,比如:

~ docker search nginx
NAME                               DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
nginx                              Official build of Nginx.                        13519               [OK]
jwilder/nginx-proxy                Automated Nginx reverse proxy for docker con…   1846                                    [OK]
richarvey/nginx-php-fpm            Container running Nginx + PHP-FPM capable of…   780                                     [OK]
linuxserver/nginx                  An Nginx container, brought to you by LinuxS…   123
bitnami/nginx                      Bitnami nginx Docker Image                      87                                      [OK]
tiangolo/nginx-rtmp                Docker image with Nginx using the nginx-rtmp…   85                                      [OK]
jc21/nginx-proxy-manager           Docker container for managing Nginx proxy ho…   73
alfg/nginx-rtmp                    NGINX, nginx-rtmp-module and FFmpeg from sou…   71                                      [OK]
nginxdemos/hello                   NGINX webserver that serves a simple page co…   57                                      [OK]
jlesage/nginx-proxy-manager        Docker container for Nginx Proxy Manager        53                                      [OK]
nginx/nginx-ingress                NGINX Ingress Controller for Kubernetes         37
.

當然這個功能在國內可能不會特別好用,因為.

4. docker events

這個命令可以幫助你實時獲取 docker 的各種事件信息,比如創建了一個容器什麼的。

~ docker events
2020-07-28T21:28:46.000403018+08:00 image load sha256:432bf69f0427b52cad10897342eaf23521b7d973566354118e9a59c4d31b5fae (name=sha256:432bf69f0427b52cad10897342eaf23521b7d973566354118e9a59c4d31b5fae)

5. docker update

當你 docker run 了之後卻發現裡面有一些參數並不是你想要的狀態比如你設置的 nginx 容器 cpu 或者內存太小,這個時候你就可以使用 docker update 去修改這些參數。

~ docker update nginx --cpus 2

6. docker history

當你修改了一個鏡像,但是忘記了每一層的修改命令,或者你想查看一個鏡像是怎麼構建的時候就可以使用這個命令,比如:

~ docker history  traefik:v2.1.6
IMAGE               CREATED             CREATED BY                                      SIZE                COMMENT
5212a87ddaba        5 months ago        /bin/sh -c #(nop)  LABEL org.opencontainers.…   0B
<missing>           5 months ago        /bin/sh -c #(nop)  CMD ["traefik"]              0B
<missing>           5 months ago        /bin/sh -c #(nop)  ENTRYPOINT ["/entrypoint.…   0B
<missing>           5 months ago        /bin/sh -c #(nop)  EXPOSE 80                    0B
<missing>           5 months ago        /bin/sh -c #(nop) COPY file:59a219a1fb7a9dc8…   419B
<missing>           5 months ago        /bin/sh -c set -ex;  apkArch="$(apk --print-…   52.9MB
<missing>           5 months ago        /bin/sh -c apk --no-cache add ca-certificate…   1.85MB
<missing>           6 months ago        /bin/sh -c #(nop)  CMD ["/bin/sh"]              0B
<missing>           6 months ago        /bin/sh -c #(nop) ADD file:a1906f14a4e217a49…   4.81MB

7. docker wait

這個命令可以查看容器的退出狀態,比如:

~ docker wait 7f7f0522a7d0
0

這樣你就可以知道這個容器是正常退出的還是異常退出的了。

8. docker pause && docker unpause

當你運行了一個容器但是想要暫停它運行的時候,你就可以使用這個命令。

~ docker pause 7f7f0522a7d0

9. docker diff

當你運行了一個容器,但是你不知道容器裡修改了哪一些文件的時候可以使用這個命令,比如:

~ docker diff 38c59255bf6e
C /etc
A /etc/localtime
C /var
C /var/lib
A /var/lib/registry

10. docker stats

這個是 docker 內置的監控命令,當你想要查看當前主機下所有容器佔用內存和 cpu 的情況的時候就可以使用這個命令。

~ docker stats

CONTAINER ID        NAME                        CPU %               MEM USAGE / LIMIT     MEM %               NET I/O             BLOCK I/O           PIDS
1c5ade04e7f9        redis                        0.08%               17.53MiB / 47.01GiB   0.04%               10.9GB / 37GB       0B / 0B             4
afe6d4ebe409        kafka-exporter                0.09%               16.91MiB / 47.01GiB   0.04%               1.97GB / 1.53GB     752MB / 0B          23
f0c7c01a9c34        kafka-docker_zookeeper         0.01%               308.8MiB / 47.01GiB   0.64%               20.2MB / 12.2MB     971MB / 3.29MB      28
da8c5008955f        kafka-docker_kafka-manager     0.08%               393.2MiB / 47.01GiB   0.82%               1.56MB / 2.61MB     1.14GB / 0B         60
c8d51c583c49        kafka-docker_kafka            1.63%               1.256GiB / 47.01GiB   2.67%               30.4GB / 48.9GB     22.3GB / 5.77GB     85
.

相關焦點

  • 10 個冷門但又非常實用的 Docker 使用技巧
    在平時的工作中,docker 接觸得很多,除了經常使用的 docker run ,docker stop等命令,docker 還有很多十分有用但是卻不經常使用的命令,下面就來總結一下:1. docker top這個命令是用來查看一個容器裡面的進程信息的,比如你想查看一個 nginx
  • 【世達百科】10 個冷門但又非常實用的 Docker 使用技巧
    ➜  ~ docker save registry:2.7.1 >registry-2.7.1.tar➜  ~ docker load < registry-2.7.1.tar➜  ~ docker update nginx --cpus 2
  • 10個日常Docker使用技巧
    來自:謝權SELF連結:https://xiequan.info/10個日常使用
  • Illustrator詳解10個提高設計的冷門技巧
    本教程主要使用Illustrator詳解提升10倍工作效率的冷門技巧,一些實用但卻總被忽略的軟體操作套路初次寫教程,希望能將幾年的使用經驗梳理並分享出來
  • 《荒野之息》的12個超冷門實用技巧,肯定有你不知道
    今天給大家介紹一些《荒野之息》中的冷門使用技巧,可以幫助小夥伴們的遊戲效率,十分有趣,不妨試試哦
  • 超冷門|連大神都不知道的6個PS實用小技巧
    這次給大家分享一些平時自己在工作實踐中用到比較實用的一些PS小技巧,說它冷門是相對新兵來說,但有些大神可能也沒留意過,做得不好的地方還是希望大神能在這裡批評指正
  • 冷門丨超實用的連續路徑動畫逐個強調講解的內容!No.026
    欄目介紹大家好,我是布衣公子,冷門技巧系列又來了,冷門是什麼意思呢
  • 如何優雅使用Docker?請收下這15個小技巧.
    連續三個sudo!三次化身「超級用戶」,真可謂是「超-超-超級用戶」啊!別擔心,設置完畢,以後你就再也不用打那麼多sudo了!docker run image1 echo hello得到的結果:hello運行第二個容器:docker run image2 echo hello得到的結果:echo hello看到不同了吧?
  • 分享兩個冷門但又超實用的 Vim 使用技巧
    VIM 中 delete(backspace)鍵不能向左刪除MacOS 下打開 vim 編輯文本,進入插入模式,要刪除編輯之前的保存過的幾個字符,按下 delete 鍵刪除它們,萬萬沒想到呀!只聽到 "duang duang duang」,竟然無效!
  • iPhone隱藏超深的16個實用技巧 5年老用戶就只知道3個
    今天給大家分享一些個人認為iPhone 12手機中有趣、實用的功能,可能還是不全,希望大家也能幫忙補充!每逢iOS迎來大版本系統更新之後,網上就會出現大批關於新功能的介紹、體驗,而這些新功能很多人往往只是圖個新鮮,並不會經常使用,而那些真正實用的小功能卻很少有人知道。
  • 【Docker】系列教程01-使用Docker鏡像
    docker系列導讀一文帶你讀懂什麼是dockerDocker安裝部署10張圖帶你深入理解Docker容器和鏡像前言學習Docker,我們需要掌握它的三大核心概念:鏡像2)使用鏡像ID刪除鏡像 docker rmi 命令後跟鏡像ID的前綴即可匹配刪除
  • 8.Docker使用輔助工具匯總
    2.CI集成描述:當運行環境變量CI=true的dive時dive UI將被繞過,取而代之的是分析你的docker圖像,通過返回代碼給它一個通過/失敗的指示。目前有三個指標支持通過。 docker pull –> docker tag –> docker push 操作的弊端; 在Docker pull 時鏡像會對Registry上的 Layer進行下載到本地然後解壓,在使用 docker pull 拉取鏡像的時候使用 ps 查看一下進程就會找到 docker-untar 這個進程,它的目的是為了減少網絡傳輸的流量以及節約時間;
  • Docker的安裝與使用
    容器是完全使用沙箱機制,相互之間不會有任何接口,更重要的是容器性能開銷極低。為什麼要用docker?在沒有用docker之前,我們需要在本地,測試,線上部署相同的環境,相同的軟體每個環境都要安裝一次,並且每來一個新同事,相同的環境有要重新安裝一遍,很麻煩且過於重複。
  • Docker和Harbor的使用
    二、環境搭建Docker本身是基於Linux的,即使是Windows上的docker,官方提供的直接安裝包也是去裝了個Linux虛擬機,再在虛擬機中運行docker。若想繼續進行,請準備好linux環境,後續步驟以centos7環境為例。
  • 最實用的21個Android手機使用小技巧介紹
    對於現代社會人而言,手機是一件非常方便、實用的電子設備。那麼對於自己每天使用最多,相處時間最長的設備,大家又了解多少呢?Android手機用戶有福了,小編給大家帶來了21個Android手機的使用小技巧,能夠給Android手機用戶帶來更直觀、更快捷、更方便的體驗感覺。 1. 一鍵呼叫常用聯繫人
  • 陰陽師探索肝狗糧的幾個冷門使用小技巧 兩天養出一隻六星式神
    陰陽師介於國慶期間有非常不錯的豐年活動,這可是難得的刷探索刷狗糧和養式神的時期,估計不少痒痒鼠玩家都在努力的肝狗糧刷探索活動中,本次就帶來比較冷門且實用的小技巧
  • Docker基本概念及部署使用
    perf_event 6 3 1hugetlb 3 3 1pids 5 3 1net_prio 11 3 11.4 Docker容器生命周期理解Docker容器生命周期需要了解Docker的三個核心概念
  • 使用docker swarm 搭建docker集群
    Swarm 關鍵概念1)Swarm集群的管理和編排是使用嵌入到 docker 引擎的 SwarmKit,可以在 docker 初始化時啟動 swarm 模式或者加入已存在的 swarm創建一個服務,指定了容器所使用的鏡像和容器運行的命令。service 是運行在 worker nodes 上的 task 的描述,service 的描述包括使用哪個 docker 鏡像,以及在使用該鏡像的容器中執行什麼命令。4)task 任務:一個任務包含了一個容器及其運行的命令。
  • 使用Docker高效搭建開發環境
    代碼使用數據卷的方式加載到需要的容器中。因為是開發環境,所以網絡方面使用最簡單的--net=host。將鏡像的創建、容器的啟動維護在Git項目中,並抽象出統一的構建過程,很方面的做到新軟體接入,新機器部署。我將構建過程放到Git中:https://gitee.com/andals/docker-nginx。
  • Activator使用技巧:實用手勢改變iPhone使用習慣
    越獄後必用神級手勢插件Activator相信讓不少越獄用戶愛不釋手,先前已經介紹過這款插件,但是再不斷更新後Activator已經越來越強大,這些功能比iOS內小白點強太多,甚至連iPhone X也去除實體Touch ID鍵後也加入了手勢,但功能依舊無法追上Activator手勢插件,畢竟兩者之間真的差異太大,所以今天給大家帶來Activator的幾個實用技巧