10個の冷たいドアがありますが、非常に実用的なDockerの使い方

5840 ワード

普段の仕事では、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
私は一般的にこの2つのコマンドを使って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
           5 months ago        /bin/sh -c #(nop)  CMD ["traefik"]              0B
           5 months ago        /bin/sh -c #(nop)  ENTRYPOINT ["/entrypoint.…   0B
           5 months ago        /bin/sh -c #(nop)  EXPOSE 80                    0B
           5 months ago        /bin/sh -c #(nop) COPY file:59a219a1fb7a9dc8…   419B
           5 months ago        /bin/sh -c set -ex;  apkArch="$(apk --print-…   52.9MB
           5 months ago        /bin/sh -c apk --no-cache add ca-certificate…   1.85MB
           6 months ago        /bin/sh -c #(nop)  CMD ["/bin/sh"]              0B
           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
......

最後に
ここを見てくれてありがとう.もし本文に何か足りないところがあれば、よろしくお願いします.もしあなたがあなたに役に立つと思ったら、私にいいことをしてください.
皆さんも私の公衆番号に注目することを歓迎します:プログラマーの麦冬、毎日業界の情報を更新します!