In normal work ,docker A lot of contact , In addition to the regular use of docker run ,docker stop Wait for the order ,docker There are also a lot of very useful but infrequently used commands , Here's a summary ：
1. docker top
This command is used to view the process information in a container , For example, you want to see a nginx There are several in the container nginx Process time , You can do this ：
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
I usually use these two commands to download and package Kubernetes Mirror image , Because you know, the Internet speed in China is not as fast as that in foreign countries . Put together a copy of Java Interview book full version PDF
docker save You can save a mirror image to tar In file , You can do this ：
~ docker save registry:2.7.1 >registry-2.7.1.tar # meanwhile docker load You can take the mirror image from tar File import to docker in ~ docker load < registry-2.7.1.tar
3. docker search
This command can help you search conveniently on the command line DockerHub In the mirror , such as :
~ 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 ......
Of course, this function may not be particularly easy to use in China , because ......
4. docker events
This command can help you access docker All kinds of event information , Like creating a container or something .
~ docker events 2020-07-28T21:28:46.000403018+08:00 image load sha256:432bf69f0427b52cad10897342eaf23521b7d973566354118e9a59c4d31b5fae (name=sha256:432bf69f0427b52cad10897342eaf23521b7d973566354118e9a59c4d31b5fae)
5. docker update
When you docker run After that, I found that there are some parameters that are not the state you want, such as the state you set nginx Containers cpu Or the memory is too small , You can use docker update To modify these parameters .
~ docker update nginx --cpus 2
6. docker history
When you modify a mirror image , But forget the modification command for each layer , Or you can use this command when you want to see how an image is built , such as ：
~ 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
This command can check the exit status of the container , such as ：
~ docker wait 7f7f0522a7d0 0
In this way, you can know whether the container exited normally or abnormally .
8. docker pause && docker unpause
When you run a container but want to pause it , You can use this command .
~ docker pause 7f7f0522a7d0
9. docker diff
When you run a container , But you don't know which files have been modified in the container , such as ：
docker diff 38c59255bf6e C /etc A /etc/localtime C /var C /var/lib A /var/lib/registry
10. docker stats
This is docker Built in monitoring command , When you want to see all containers under the current host occupy memory and cpu You can use this command when you need to . Put together a copy of Java Interview book full version 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 ......