2021年1月20日星期三

10 个冷门但又非常实用的 Docker 使用技巧

在平时的工作中,docker 接触得很多,除了经常使用的 docker run ,docker stop 等命令,docker 还有很多十分有用但是却不经常使用的命令,下面就来总结一下:

1. docker top

这个命令是用来查看一个容器里面的进程信息的,比如你想查看一个 nginx 容器里面有几个 nginx 进程的时候,就可以这么做:

docker top 3b307a09d20dUID  PID PPID C STIME TTY TIME  CMDroot  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 的镜像,因为你知道的国内的网速并不像国外那么快。整理了一份Java面试宝典完整版PDF

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 nginxNAME        DESCRIPTION          STARS    OFFICIAL   AUTOMATEDnginx        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… 123bitnami/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… 73alfg/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 events2020-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.6IMAGE    CREATED    CREATED BY          SIZE    COMMENT5212a87ddaba  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 7f7f0522a7d00

这样你就可以知道这个容器是正常退出的还是异常退出的了。

8. docker pause && docker unpause

当你运行了一个容器但是想要暂停它运行的时候,你就可以使用这个命令。

~ docker pause 7f7f0522a7d0

9. docker diff

当你运行了一个容器,但是你不知道容器里修改了哪一些文件的时候可以使用这个命令,比如:

~ docker diff 38c59255bf6eC /etcA /etc/localtimeC /varC /var/libA /var/lib/registry

10. docker stats

这个是 docker 内置的监控命令,当你想要查看当前主机下所有容器占用内存和 cpu 的情况的时候就可以使用这个命令。整理了一份Java面试宝典完整版PDF

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











原文转载:http://www.shaoqun.com/a/512400.html

跨境电商:https://www.ikjzd.com/

easy buy:https://www.ikjzd.com/w/2162

airwallex:https://www.ikjzd.com/w/1011


在平时的工作中,docker接触得很多,除了经常使用的dockerrun,dockerstop等命令,docker还有很多十分有用但是却不经常使用的命令,下面就来总结一下:1.dockertop这个命令是用来查看一个容器里面的进程信息的,比如你想查看一个nginx容器里面有几个nginx进程的时候,就可以这么做:dockertop3b307a09d20dUIDPIDPPIDCSTIMETTYTIM
tineye:tineye
hts:hts
深圳西冲什么时候下海好?:深圳西冲什么时候下海好?
番禺大夫山新春活动?2020大夫山森林公园新春门票多少钱?:番禺大夫山新春活动?2020大夫山森林公园新春门票多少钱?
太阳宫地铁站怎么到达鸟巢和水立方?有多远?:太阳宫地铁站怎么到达鸟巢和水立方?有多远?

没有评论:

发表评论