1.docker鏡像
這里需要用到兩條命令。
1.拉取鏡像命令
C:\Users\Administrator>docker pull --help Usage: docker pull [OPTIONS] NAME[:TAG|@DIGEST] Pull an image or a repository from a registry Options: -a, --all-tags Download all tagged images in the repository --disable-content-trust Skip image verification (default true)
這條命令用來從倉庫拉取鏡像
比如我們從docker默認倉庫拉取第一個鏡像。這個鏡像的名稱可以在docker倉庫搜索。
C:\Users\Administrator>docker pull hello-world Using default tag: latest latest: Pulling from library/hello-world 1b930d010525: Pull complete Digest: sha256:9572f7cdcee8591948c2963463447a53466950b3fc15a247fcad1917ca215a2f Status: Downloaded newer image for hello-world:latest
2.查看本地鏡像命令
C:\Users\Administrator>docker images --help Usage: docker images [OPTIONS] [REPOSITORY[:TAG]] List images Options: -a, --all Show all images (default hides intermediate images) --digests Show digests -f, --filter filter Filter output based on conditions provided --format string Pretty-print images using a Go template --no-trunc Don't truncate output -q, --quiet Only show numeric IDs
例如:列出本地的鏡像列表
C:\Users\Administrator>docker images REPOSITORY TAG IMAGE ID CREATED SIZE hello-world latest fce289e99eb9 13 months ago 1.84kB
REPOSITORY:表示鏡像的倉庫源。鏡像名稱
TAG:鏡像的標簽
IMAGE ID:鏡像ID
CREATED:鏡像創建時間
SIZE:鏡像大小
同一倉庫源可以有多個 TAG,代表這個倉庫源的不同個版本,如 ubuntu 倉庫源里,有 15.10、14.04 等多個不同的版本,我們使用 REPOSITORY:TAG 來定義不同的鏡像。
3.查找鏡像
C:\Users\Administrator>docker search java NAME DESCRIPTION STARS OFFICIAL AUTOMATED node Node.js is a JavaScript-based platform for s… 8439 [OK] tomcat Apache Tomcat is an open source implementati… 2638 [OK] openjdk OpenJDK is an open-source implementation of … 2112 [OK] java Java is a concurrent, class-based, and objec… 1976 [OK] ghost Ghost is a free and open source blogging pla… 1102 [OK] couchdb CouchDB is a database that uses JSON for doc… 324 [OK] jetty Jetty provides a Web server and javax.servle… 322 [OK] groovy Apache Groovy is a multi-faceted language fo… 84 [OK] lwieske/java-8 Oracle Java 8 Container - Full + Slim - Base… 46 [OK] nimmis/java-centos This is docker images of CentOS 7 with diffe… 42 [OK] fabric8/java-jboss-openjdk8-jdk Fabric8 Java Base Image (JBoss, OpenJDK 8) 28 [OK] frekele/java docker run --rm --name java frekele/java 12 [OK] blacklabelops/java Java Base Images. 8 [OK] bitnami/java Bitnami Java Docker Image 5 [OK] cloudbees/java-with-docker-client Java image with Docker client installed, use… 4 [OK] rightctrl/java Oracle Java 3 [OK] cfje/java-test-applications Java Test Applications CI Image 2 zoran/java10-sjre Slim Docker image based on AlpineLinux with … 2 [OK]
NAME: 鏡像倉庫源的名稱
DESCRIPTION: 鏡像的描述
OFFICIAL: 是否 docker 官方發布
stars: 類似 Github 里面的 star,表示點贊、喜歡的意思。
AUTOMATED: 自動構建。
4.刪除鏡像
C:\Users\Administrator>docker rmi hello-world Error response from daemon: conflict: unable to remove repository reference "hello-world" (must force) - container fd680c09ec41 is using its referenced image fce289e99eb9
運行中的鏡像不能刪除,需要先停止鏡像后刪除。
C:\Users\Administrator>docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES fd680c09ec41 hello-world "/hello" 25 minutes ago Exited (0) 25 minutes ago elegant_chaum C:\Users\Administrator>docker rm fd680c09ec41 #刪除容器(可以加-f參數強制刪除) fd680c09ec41 C:\Users\Administrator>docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES C:\Users\Administrator>docker rmi hello-world Untagged: hello-world:latest Untagged: hello-world@sha256:9572f7cdcee8591948c2963463447a53466950b3fc15a247fcad1917ca215a2f Deleted: sha256:fce289e99eb9bca977dae136fbe2a82b6b7d4c372474c9235adc1741675f587e Deleted: sha256:af0b15c8625bb1938f1d7b17081031f649fd14e6b233688eea3c5483994a66a3 C:\Users\Administrator>docker images REPOSITORY TAG IMAGE ID CREATED SIZE
5.構建鏡像
參考:https://www.cnblogs.com/qlqwjy/p/12322861.html
2.docker容器
docker鏡像運行起來就是docker容器。
0.創建一個容器但是不啟動
docker create :創建一個新的容器但不啟動它。用法同docker run
語法:
docker create [OPTIONS] IMAGE [COMMAND] [ARG...]
1.啟動容器
運行docker鏡像需要用到docker run命令,語法如下:
C:\Users\Administrator>docker run --help Usage: docker run [OPTIONS] IMAGE [COMMAND] [ARG...] Run a command in a new container Options: --add-host list Add a custom host-to-IP mapping (host:ip) -a, --attach list Attach to STDIN, STDOUT or STDERR --blkio-weight uint16 Block IO (relative weight), between 10 and 1000, or 0 to disable (default 0) --blkio-weight-device list Block IO weight (relative device weight) (default []) --cap-add list Add Linux capabilities --cap-drop list Drop Linux capabilities --cgroup-parent string Optional parent cgroup for the container --cidfile string Write the container ID to the file --cpu-period int Limit CPU CFS (Completely Fair Scheduler) period --cpu-quota int Limit CPU CFS (Completely Fair Scheduler) quota --cpu-rt-period int Limit CPU real-time period in microseconds --cpu-rt-runtime int Limit CPU real-time runtime in microseconds -c, --cpu-shares int CPU shares (relative weight) --cpus decimal Number of CPUs --cpuset-cpus string CPUs in which to allow execution (0-3, 0,1) --cpuset-mems string MEMs in which to allow execution (0-3, 0,1) -d, --detach Run container in background and print container ID --detach-keys string Override the key sequence for detaching a container --device list Add a host device to the container --device-cgroup-rule list Add a rule to the cgroup allowed devices list --device-read-bps list Limit read rate (bytes per second) from a device (default []) --device-read-iops list Limit read rate (IO per second) from a device (default []) --device-write-bps list Limit write rate (bytes per second) to a device (default []) --device-write-iops list Limit write rate (IO per second) to a device (default []) --disable-content-trust Skip image verification (default true) --dns list Set custom DNS servers --dns-option list Set DNS options --dns-search list Set custom DNS search domains --entrypoint string Overwrite the default ENTRYPOINT of the image -e, --env list Set environment variables --env-file list Read in a file of environment variables --expose list Expose a port or a range of ports --group-add list Add additional groups to join --health-cmd string Command to run to check health --health-interval duration Time between running the check (ms|s|m|h) (default 0s) --health-retries int Consecutive failures needed to report unhealthy --health-start-period duration Start period for the container to initialize before starting health-retries countdown (ms|s|m|h) (default 0s) --health-timeout duration Maximum time to allow one check to run (ms|s|m|h) (default 0s) --help Print usage -h, --hostname string Container host name --init Run an init inside the container that forwards signals and reaps processes -i, --interactive Keep STDIN open even if not attached --ip string IPv4 address (e.g., 172.30.100.104) --ip6 string IPv6 address (e.g., 2001:db8::33) --ipc string IPC mode to use --isolation string Container isolation technology --kernel-memory bytes Kernel memory limit -l, --label list Set meta data on a container --label-file list Read in a line delimited file of labels --link list Add link to another container --link-local-ip list Container IPv4/IPv6 link-local addresses --log-driver string Logging driver for the container --log-opt list Log driver options --mac-address string Container MAC address (e.g., 92:d0:c6:0a:29:33) -m, --memory bytes Memory limit --memory-reservation bytes Memory soft limit --memory-swap bytes Swap limit equal to memory plus swap: '-1' to enable unlimited swap --memory-swappiness int Tune container memory swappiness (0 to 100) (default -1) --mount mount Attach a filesystem mount to the container --name string Assign a name to the container --network string Connect a container to a network (default "default") --network-alias list Add network-scoped alias for the container --no-healthcheck Disable any container-specified HEALTHCHECK --oom-kill-disable Disable OOM Killer --oom-score-adj int Tune host's OOM preferences (-1000 to 1000) --pid string PID namespace to use --pids-limit int Tune container pids limit (set -1 for unlimited) --privileged Give extended privileges to this container -p, --publish list Publish a container's port(s) to the host -P, --publish-all Publish all exposed ports to random ports --read-only Mount the container's root filesystem as read only --restart string Restart policy to apply when a container exits (default "no") --rm Automatically remove the container when it exits --runtime string Runtime to use for this container --security-opt list Security Options --shm-size bytes Size of /dev/shm --sig-proxy Proxy received signals to the process (default true) --stop-signal string Signal to stop a container (default "15") --stop-timeout int Timeout (in seconds) to stop a container --storage-opt list Storage driver options for the container --sysctl map Sysctl options (default map[]) --tmpfs list Mount a tmpfs directory -t, --tty Allocate a pseudo-TTY --ulimit ulimit Ulimit options (default []) -u, --user string Username or UID (format: <name|uid>[:<group|gid>]) --userns string User namespace to use --uts string UTS namespace to use -v, --volume list Bind mount a volume --volume-driver string Optional volume driver for the container --volumes-from list Mount volumes from the specified container(s) -w, --workdir string Working directory inside the container
例如:運行上面的hello-world鏡像。
C:\Users\Administrator>docker run hello-world Hello from Docker! This message shows that your installation appears to be working correctly. To generate this message, Docker took the following steps: 1. The Docker client contacted the Docker daemon. 2. The Docker daemon pulled the "hello-world" image from the Docker Hub. (amd64) 3. The Docker daemon created a new container from that image which runs the executable that produces the output you are currently reading. 4. The Docker daemon streamed that output to the Docker client, which sent it to your terminal. To try something more ambitious, you can run an Ubuntu container with: $ docker run -it ubuntu bash Share images, automate workflows, and more with a free Docker ID: https://hub.docker.com/ For more examples and ideas, visit: https://docs.docker.com/get-started/
2.查看所有啟動的容器
C:\Users\Administrator>docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES fd680c09ec41 hello-world "/hello" 19 minutes ago Exited (0) 19 minutes ago elegant_chaum
加-a查看所有容器,包括已經停止的容器,不加-a是查看啟動的容器。
3.啟動已停止運行的容器
docker start 6f834248b43f
4.后台運行容器
C:\Users\Administrator>docker run -d hello-world
338d2e090bcc658618f8ea85dccfdfc3565ddbbd30c2a4178f6f749e153aa333
5.進入容器
在使用 -d 參數時,容器啟動后會進入后台。此時想要進入容器,可以通過以下指令進入:
docker attach
docker exec:推薦大家使用 docker exec 命令,因為此退出容器終端,不會導致容器的停止
(1)attach 命令
docker attach 1e560fca3906
注意: 如果從這個容器退出,會導致容器的停止。
(2)exec命令
docker exec -it 243c32535da7 /bin/bash
-i表示交互式的,-t表示開啟一個虛擬終端。
注意: 如果從這個容器退出,不會導致容器的停止
補充:有時候進不去容器,報錯: starting container process caused "exec: \"/bin/bash\": stat /bin/bash: no such file or directory"
上述錯誤說沒有此類文件或目錄/bin/bash,那么使用下面的命令.
docker exec -it <containter_id | containter_name> sh
6.停止一個容器
語法:
docker stop <容器 ID>
7.重啟容器
停止的容器可以通過 docker restart 重啟:
docker restart <容器 ID>
8.刪除容器
C:\Users\Administrator>docker rm -f 1ef79f1c7da6 1ef79f1c7da6
3.執行圖如下:
docker pull:向docker守護進程(服務)發送請求,先在本機檢查鏡像是否存在,如果存在並且是你要的版本就不做操作;如果不存在從倉庫拉取鏡像保存到本地。
docker run:向docker守護進程(服務)發送請求,先在本機檢查鏡像是否存在,如果不存在執行一次docker pull操作;之后運行鏡像。
4.安裝nginx鏡像
nginx鏡像與之前的hello-world鏡像的區別:
(1)持久運行的容器
(2)前台掛起&后台運行
(3)后台運行的需要進入容器內部。
1.下載nginx鏡像
到https://c.163.com/hub#/library/search?keyword=nginx網易docker倉庫搜索nginx,如下:
可以看到有兩個nginx,第一個帶的是docker的圖標,代表是從docker倉庫同步過來的鏡像。第二個是網易自己的,在這里下載docker自帶的。我們點擊第一個library/nginx
復制下載地址之后docker pull,如下:
C:\Users\Administrator>docker pull hub.c.163.com/library/nginx:latest latest: Pulling from library/nginx 5de4b4d551f8: Pull complete d4b36a5e9443: Pull complete 0af1f0713557: Pull complete Digest: sha256:f84932f738583e0169f94af9b2d5201be2dbacc1578de73b09a6dfaaa07801d6 Status: Downloaded newer image for hub.c.163.com/library/nginx:latest
查看本地所有鏡像:
C:\Users\Administrator>docker images REPOSITORY TAG IMAGE ID CREATED SIZE hello-world latest fce289e99eb9 13 months ago 1.84kB hub.c.163.com/library/nginx latest 46102226f2fd 2 years ago 109MB
2.啟動nginx
如下:這種方式啟動我們不能占用窗口,否則會停掉
C:\Users\Administrator>docker run hub.c.163.com/library/nginx
新開窗口查看容器:
C:\Users\Administrator>docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 17da2264a64c hub.c.163.com/library/nginx "nginx -g 'daemon of…" 49 seconds ago Up 46 seconds 80/tcp musing_clarke
3.后台啟動nginx(-d參數)
C:\Users\Administrator>docker run -d hub.c.163.com/library/nginx 29d978bb4001613e3a4777b2c8ce2b30b68b9a7ecf5a629bfb3a9e62f0b7261e C:\Users\Administrator>docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 29d978bb4001 hub.c.163.com/library/nginx "nginx -g 'daemon of…" 5 seconds ago Up 2 seconds 80/tcp
返回的是容器的ID。
如果需要進入后台運行的nginx,可以用exec。
C:\Users\Administrator>docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 29d978bb4001 hub.c.163.com/library/nginx "nginx -g 'daemon of…" 4 minutes ago Up 4 minutes 80/tcp romantic_lumiere C:\Users\Administrator>docker exec --help Usage: docker exec [OPTIONS] CONTAINER COMMAND [ARG...] Run a command in a running container Options: -d, --detach Detached mode: run command in the background --detach-keys string Override the key sequence for detaching a container -e, --env list Set environment variables -i, --interactive Keep STDIN open even if not attached --privileged Give extended privileges to the command -t, --tty Allocate a pseudo-TTY -u, --user string Username or UID (format: <name|uid>[:<group|gid>]) -w, --workdir string Working directory inside the container C:\Users\Administrator>docker exec -it 29d bash root@29d978bb4001:/#
注意:上面containerid只輸入了29d,因為我們本地只有一個docker容器,所以輸入簡單的也可以找到。i參數表示交互式,t表示開啟一個虛擬終端。后面的bash是執行的命令。發現進入一個虛擬的linux環境,可以執行linux命令,如下:(nginx本身就是運行在linux的服務,所以我們進入容器相當於進了一個linux系統)
root@29d978bb4001:/# ls bin boot dev etc home lib lib32 lib64 libx32 media mnt opt proc root run sbin srv sys tmp usr var root@29d978bb4001:/# which nginx /usr/sbin/nginx
在容器內查看下容器內的進程:(發現pid為1的是nginx進程,還有nginxworker進程)
root@f402157f746c:/# ps -ef UID PID PPID C STIME TTY TIME CMD root 1 0 0 02:26 ? 00:00:00 nginx: master process nginx -g daemon off; nginx 6 1 0 02:26 ? 00:00:00 nginx: worker process root 7 0 0 02:29 pts/0 00:00:00 bash root 600 7 0 02:34 pts/0 00:00:00 ps -ef
4.通過宿主機訪問docker容器nginx
1. docker網絡:
host模式:容器和宿主機共享Network namespace。也就是共享同一個IP和端口。
bridge模式:有獨立的network namespace,可以通過端口映射將端口映射到宿主機中。(默認)
none模式:容器有獨立的Network namespace,但並沒有對其進行任何網絡設置,如分配veth pair 和網橋連接,配置IP等。
如下圖:
2.啟動nginx的時候進行端口映射
C:\Users\Administrator>docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 29d978bb4001 hub.c.163.com/library/nginx "nginx -g 'daemon of…" About an hour ago Up 47 minutes 80/tcp romantic_lumiere C:\Users\Administrator>docker stop 29 #停掉上面的nginx,因為只有一個容器,所以輸入簡寫ID也可以 29 C:\Users\Administrator>docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES C:\Users\Administrator>docker images REPOSITORY TAG IMAGE ID CREATED SIZE hello-world latest fce289e99eb9 13 months ago 1.84kB hub.c.163.com/library/nginx latest 46102226f2fd 2 years ago 109MB C:\Users\Administrator>docker run -p 8080:80 -d hub.c.163.com/library/nginx #啟動nginx,-p是端口映射,本地的8080映射到docker的80端口,80是nginx的端口。 d742f7199bb6ce10508fddcf647520f88267492b458584c81b0c789658b3f4b3 C:\Users\Administrator>docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES d742f7199bb6 hub.c.163.com/library/nginx "nginx -g 'daemon of…" 4 seconds ago Up 3 seconds 0.0.0.0:8080->80/tcp sweet_elion C:\Users\Administrator>netstat -ano | findstr 8080 TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 14768 TCP [::]:8080 [::]:0 LISTENING 14768
瀏覽器訪問:
注意:由於我這里是windows虛擬機訪問,因為docker是運行在Linux上的,在Windows中運行docker,實際上還是在Windows下先安裝了一個Linux環境,然后在這個系統中運行的docker。也就是說,所有的東西都是在虛擬的linux環境中,而不是我們的宿主環境Windows。所以我們也不能通過localhost直接訪問。需要先查看linux虛擬環境的IP,如下:
C:\Users\Administrator>docker-machine ls #查看可以使用的機器,可以看到目前只有這里默認的 default 虛擬機。 NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS default * virtualbox Running tcp://192.168.99.100:2376 v19.03.5 C:\Users\Administrator>docker-machine ip default #查看默認虛擬機的IP地址 192.168.99.100
訪問linux虛擬環境的IP地址:
另一種是-P(大寫的P,這種是隨機分配一個本地端口),如下:
C:\Users\Administrator>docker run -d -P hub.c.163.com/library/nginx 2eeabee88ff42f611702a6239c9689e254e2ca449f065c7bdb423304cada3a78 C:\Users\Administrator>docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 2eeabee88ff4 hub.c.163.com/library/nginx "nginx -g 'daemon of…" 2 seconds ago Up 1 second 0.0.0.0:32769->80/tcp tender_grothendieck
訪問的時候同樣是用linux虛擬環境的IP地址訪問。
補充:docker進入容器內沒有vim,ps,top支持
解決辦法:
(1)下載vim
apt-get update apt-get install vim
(2)下載ps、top
apt-get install procps
補充:docker port 列出指定的容器的端口映射,或者查找將PRIVATE_PORT NAT到面向公眾的端口。
C:\Users\Administrator>docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 19244d42aaf3 hub.c.163.com/library/nginx "nginx -g 'daemon of…" 5 minutes ago Up 5 minutes 0.0.0.0:32772->80/tcp competent_agnesi 36c135e9890c hub.c.163.com/library/nginx "nginx -g 'daemon of…" 9 minutes ago Up 9 minutes 0.0.0.0:8080->80/tcp elastic_cerf C:\Users\Administrator>docker port --help Usage: docker port CONTAINER [PRIVATE_PORT[/PROTO]] List port mappings or a specific mapping for the container Options: C:\Users\Administrator>docker port 19244d42aaf3 80/tcp -> 0.0.0.0:32772 C:\Users\Administrator>docker port 36 80/tcp -> 0.0.0.0:8080
補充:下載和運行不同版本鏡像的時候只需要在鏡像名稱后面加上版本號就可以,比如
C:\Users\Administrator>docker pull hub.c.163.com/library/nginx:1.9 C:\Users\Administrator>docker run hub.c.163.com/library/nginx:1.9
補充: Detached模式 vs foreground 模式
1. Detached模式 vs foreground 模式
當要啟動一個docker容器時,首先必須決定是以detached模式在后台運行容器還是以默認的foreground模式運行。
(1)Detached (-d) detached:分離的模式
要在detached模式啟動一個容器,必須使用-d=true或僅-d選項。docker是這樣設計的,當運行在容器的根進程退出時,以detached模式啟動的容器也退出。以detached模式運行的容器當它停止時無法自動刪除,需要docker rm containerID 手動刪除。 (此模式不能加--rm參數)
(2)Foreground 模式:
在forgroud模式[當-d不指定時],docker run能夠在容器啟動進程並附着控制台到進程的標准輸入,輸出和標准錯誤。此模式運行的容器當它停止時默認也無法自動刪除,需要docker rm containerID 手動刪除。如果加了 --rm 參數會自動刪除。
2.docker run --rm 解釋
官方解釋如下:
--rm Automatically remove the container when it exits
執行docker run命令帶--rm命令選項,等價於在容器退出后自動移除容器,執行docker rm -v。注意,--rm選項也會清理容器的匿名data volumes。
顯然,--rm選項不能與-d同時使用,即只能自動清理foreground容器,不能自動清理detached容器
3.測試:
(1)foreground模式,不加--rm自動停止后容易停止但不刪除
Administrator@MicroWin10-1535 MINGW64 ~/Desktop/dockertest $ docker run ubuntu echo "hello" hello Administrator@MicroWin10-1535 MINGW64 ~/Desktop/dockertest $ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES d4dab01786b2 ubuntu "echo hello" 3 seconds ago Exited (0) 3 seconds ago frosty_ herschel
(2)foreground模式,加--rm自動停止后容易停止且刪除容器
Administrator@MicroWin10-1535 MINGW64 ~/Desktop/dockertest $ docker run --rm ubuntu echo "hello" hello Administrator@MicroWin10-1535 MINGW64 ~/Desktop/dockertest $ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES Administrator@MicroWin10-1535 MINGW64 ~/Desktop/dockertest
補充:docker run --rm imagename cmd 經常用於執行一次容器內的命令並且關閉容器,如果需要獲取文件可以加-v參數指定容器內部和外部映射路徑。例如鏡像內有個sh腳本,內容如下:
#!/bin/bash echo "this is test"
外部調用容器內命令,執行完關閉容器
C:\Users\Administrator>docker run --rm myubuntu sh /test.sh this is test
總結:
-d 就是以守護進程的方式啟動(detached模式);不加-d就是占用命令行的方式運行(foreground模式)。不加-d的情況(foreground)可以加 --rm 參數在停止的時候自動刪除容器。
補充:docker查看日志
$ docker logs 8720 RabbitMQ 3.6.11. Copyright (C) 2007-2017 Pivotal Software, Inc. ## ## Licensed under the MPL. See http://www.rabbitmq.com/ ## ## ########## Logs: tty ###### ## tty ########## Starting broker... =INFO REPORT==== 9-Dec-2020::13:44:08 === Starting RabbitMQ 3.6.11 on Erlang 19.2.1 Copyright (C) 2007-2017 Pivotal Software, Inc. Licensed under the MPL. See http://www.rabbitmq.com/ =INFO REPORT==== 9-Dec-2020::13:44:08 === node : rabbit@my-rabbit
補充:docker命令大全
(1)容器生命周期管理
run 創建一個新的容器並運行一個名令
start/stop/restart 啟動/停止/重啟容器
kill 殺掉一個運行中的容器
rm 刪除一個或多個容器
pause/unpause 暫停/恢復容器中的所有進程
create 創建一個新的容器但不啟動它
exec 進入容器
(2)容器操作
ps 列出容器
inspect 獲取容器/鏡像的元數據。
top 查看容器中運行的進程信息,支持 ps 命令參數
attach 連接到正在運行中的容器(退出時容器關閉,不建議使用)
events 從服務器獲取實時事件
logs 獲取容器的日志
wait 阻塞運行直到容器停止,然后打印出它的退出代碼
export 將文件系統作為一個tar歸檔文件導出到STDOUT
port 列出指定的容器的端口映射,或者查找將PRIVATE_PORT NAT到面向公眾的端口
(3)容器rootfs命令
commit 從容器創建一個新的鏡像
cp 用於容器與主機之間的數據拷貝
diff 檢查容器里文件結構的更改
(4)鏡像倉庫
login 登陸到一個Docker鏡像倉庫,如果未指定鏡像倉庫地址,默認為官方倉庫 Docker Hub
logout 登出一個Docker鏡像倉庫,如果未指定鏡像倉庫地址,默認為官方倉庫 Docker Hub
pull 從鏡像倉庫中拉取或者更新指定鏡像
push 將本地的鏡像上傳到鏡像倉庫,要先登陸到鏡像倉庫
search 從Docker Hub查找鏡像
(5)本地鏡像管理
images 列出本地鏡像
rmi 刪除鏡像
tag 標記本地鏡像,將其歸入某一倉庫
build 命令用於使用 Dockerfile 創建鏡像
history 查看指定鏡像的創建歷史
save 將指定鏡像保存成 tar 歸檔文件
load 導入使用 docker save 命令導出的鏡像
import 從歸檔文件中創建鏡像
(6)info|version
info 顯示 Docker 系統信息,包括鏡像和容器數
version 顯示 Docker 版本信息