溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Docker的使用技巧有哪些

發(fā)布時間:2021-12-13 11:48:40 來源:億速云 閱讀:111 作者:iii 欄目:云計(jì)算

這篇文章主要講解了“Docker的使用技巧有哪些”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Docker的使用技巧有哪些”吧!

1. docker top

這個命令是用來查看一個容器里面的進(jìn)程信息的,比如你想查看一個 nginx 容器里面有幾個 nginx 進(jìn)程的時候,就可以這么做:

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 的鏡像,因?yàn)槟阒赖膰鴥?nèi)的網(wǎng)速并不像國外那么快。整理了一份Java面試寶典完整版PDF

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

~ docker save registry:2.7.1 >registry-2.7.1.tar
#同時 docker load 可以把鏡像從 tar 文件導(dǎo)入到 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
......

當(dāng)然這個功能在國內(nèi)可能不會特別好用,因?yàn)?.....

4. docker events

這個命令可以幫助你實(shí)時獲取 docker 的各種事件信息,比如創(chuàng)建了一個容器什么的。

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

5. docker update

當(dāng)你 docker run 了之后卻發(fā)現(xiàn)里面有一些參數(shù)并不是你想要的狀態(tài)比如你設(shè)置的 nginx 容器 cpu 或者內(nèi)存太小,這個時候你就可以使用 docker update 去修改這些參數(shù)。

~ docker update nginx --cpus 2

6. docker history

當(dāng)你修改了一個鏡像,但是忘記了每一層的修改命令,或者你想查看一個鏡像是怎么構(gòu)建的時候就可以使用這個命令,比如:

~ 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

這個命令可以查看容器的退出狀態(tài),比如:

~ docker wait 7f7f0522a7d0
0

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

8. docker pause && docker unpause

當(dāng)你運(yùn)行了一個容器但是想要暫停它運(yùn)行的時候,你就可以使用這個命令。

~ docker pause 7f7f0522a7d0

9. docker diff

當(dāng)你運(yùn)行了一個容器,但是你不知道容器里修改了哪一些文件的時候可以使用這個命令,比如:

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

10. docker stats

這個是 docker 內(nèi)置的監(jiān)控命令,當(dāng)你想要查看當(dāng)前主機(jī)下所有容器占用內(nèi)存和 cpu 的情況的時候就可以使用這個命令。整理了一份Java面試寶典完整版PDF

~ 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
......

感謝各位的閱讀,以上就是“Docker的使用技巧有哪些”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對Docker的使用技巧有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI