今天就跟大家聊聊有關(guān)實(shí)用的Docker使用技巧有哪些,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
成都創(chuàng)新互聯(lián)是工信部頒發(fā)資質(zhì)IDC服務(wù)器商,為用戶提供優(yōu)質(zhì)的四川樂(lè)山服務(wù)器托管服務(wù)
在平時(shí)的工作中,docker接觸很多,除了經(jīng)常使用的docker run ,docker stop等命令,docker還有很多十分有用但是卻不經(jīng)常使用的命令,下面我就總結(jié)一下
1、docker top
這個(gè)命令是用來(lái)查看一個(gè)容器里面的進(jìn)程信息的,比如你想查看一個(gè)nginx容器里面有幾個(gè)nginx進(jìn)程的時(shí)候,就可以這么做
? ~ 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
我一般使用這兩個(gè)命令去下載打包k8s的鏡像,因?yàn)槟阒赖闹袊?guó)的網(wǎng)速并不像國(guó)外那么快
docker save可以把一個(gè)鏡像保存到tar文件中,你可以這么做
`docker save registry:2.7.1 >registry-2.7.1.tar`
同時(shí)docker load可以把鏡像從tar文件導(dǎo)入到docker中
`docker load < registry-2.7.1.tar`
3、docker search
這個(gè)命令可以幫助你在命令行中方便的搜索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 privatebin/nginx-fpm-alpine PrivateBin running on an Nginx, php-fpm & Al… 31 [OK] schmunk42/nginx-redirect A very simple container to redirect HTTP tra… 18 [OK] nginxinc/nginx-unprivileged Unprivileged NGINX Dockerfiles 16 nginx/nginx-prometheus-exporter NGINX Prometheus Exporter 14 centos/nginx-112-centos7 Platform for running nginx 1.12 or building … 13 centos/nginx-18-centos7 Platform for running nginx 1.8 or building n… 13 raulr/nginx-wordpress Nginx front-end for the official wordpress:f… 13 [OK] sophos/nginx-vts-exporter Simple server that scrapes Nginx vts stats a… 7 [OK] mailu/nginx Mailu nginx frontend 7 [OK] bitnami/nginx-ingress-controller Bitnami Docker Image for NGINX Ingress Contr… 6 [OK] bitwarden/nginx The Bitwarden nginx web server acting as a r… 6 flashspys/nginx-static Super Lightweight Nginx Image 6 [OK] wodby/nginx Generic nginx 1 [OK] ansibleplaybookbundle/nginx-apb An APB to deploy NGINX 1 [OK]
當(dāng)然這個(gè)功能在中國(guó)可能不會(huì)特別好用
4、docker events
這個(gè)命令可以幫助你實(shí)時(shí)獲取docker的各種事件信息,比如創(chuàng)建了一個(gè)容器什么的
? ~ docker events2020-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)存太小,這個(gè)時(shí)候你就可以使用docker update去修改這些參數(shù)
`docker update nginx --cpus 2`
6、docker history
當(dāng)你修改了一個(gè)鏡像,但是忘記了每一層的修改命令,或者你想查看一個(gè)鏡像是怎么構(gòu)建的時(shí)候就可以使用這個(gè)命令,比如
? ~ docker history traefik:v2.1.6 IMAGE CREATED CREATED BY SIZE COMMENT 5212a87ddaba 5 months ago /bin/sh -c #(nop) LABEL org.opencontainers.… 0B5 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
這個(gè)命令可以查看容器的退出狀態(tài),比如
? ~ docker wait 7f7f0522a7d0 0
這樣你就可以知道這個(gè)容器是正常退出的還是異常退出的了
8、docker pause && docker unpause
當(dāng)你運(yùn)行了一個(gè)容器但是想要暫停它運(yùn)行的時(shí)候可以使用這個(gè)命令
9、docker diff
當(dāng)你運(yùn)行了一個(gè)容器,但是你不知道容器里修改了哪一些文件的時(shí)候可以使用這個(gè)命令,比如
? ~ docker diff 38c59255bf6e C /etc A /etc/localtime C /var C /var/lib A /var/lib/registry
10、docker stats
這個(gè)是docker內(nèi)置的監(jiān)控命令,當(dāng)你想要查看當(dāng)前主機(jī)下所有容器占用內(nèi)存和cpu的情況的時(shí)候就可以使用這個(gè)命令。
看完上述內(nèi)容,你們對(duì)實(shí)用的Docker使用技巧有哪些有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。