作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。
一.从镜像启动一个容器
1>.前台启动容器
[root@docker201.yinzhengjie.org.cn ~]# docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest c7460dfcab50 4 days ago 126MB
alpine latest cc0abc535e36 2 weeks ago 5.59MB
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# ss -ntl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:22 *:*
LISTEN 0 100 127.0.0.1:25 *:*
LISTEN 0 128 :::22 :::*
LISTEN 0 100 ::1:25 :::*
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker run nginx
[root@docker201.yinzhengjie.org.cn ~]# docker run nginx #前台启动容器,当前终端会阻塞,需要另外启动一个终端查看,如下图所示。
2>.后台启动容器
[root@docker201.yinzhengjie.org.cn ~]# docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
99b6a121adae nginx "nginx -g 'daemon of…" 3 minutes ago Exited (0) 17 seconds ago zealous_khorana
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker run -d nginx
fb899a454b58342af808dd4b446e53696d5e1f69b7dcaf414f4467a041ac88a7
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
fb899a454b58 nginx "nginx -g 'daemon of…" 3 seconds ago Up 2 seconds 80/tcp inspiring_morse
99b6a121adae nginx "nginx -g 'daemon of…" 4 minutes ago Exited (0) 42 seconds ago zealous_khorana
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
fb899a454b58 nginx "nginx -g 'daemon of…" 8 seconds ago Up 7 seconds 80/tcp inspiring_morse
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker run -d nginx #后台启动容器,并生成随机的容器ID和名称。
3>.创建容器时并进入容器(依赖于"-i"(保持一个标准输入)和"-t"(分配一个tty终端)两个参数)
[root@docker201.yinzhengjie.org.cn ~]# docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest c7460dfcab50 4 days ago 126MB
alpine latest cc0abc535e36 2 weeks ago 5.59MB
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker run -it nginx bash
root@b348fb4b1c0a:/#
root@b348fb4b1c0a:/# cat /etc/issue
Debian GNU/Linux 10 n l
root@b348fb4b1c0a:/#
root@b348fb4b1c0a:/# uname -a
Linux b348fb4b1c0a 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 GNU/Linux
root@b348fb4b1c0a:/#
root@b348fb4b1c0a:/# exit
exit
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# uname -a
Linux docker201.yinzhengjie.org.cn 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker run -it nginx bash #会打开一个bash并直接进入到容器,并随机生成容器ID和名称。
4>.自定义容器名称(一般在单机上会有点作用,在k8s集群中咱们很少去自定义容器名称哟~)
[root@docker201.yinzhengjie.org.cn ~]# docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest c7460dfcab50 4 days ago 126MB
alpine latest cc0abc535e36 2 weeks ago 5.59MB
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker run --name mynginx -d nginx
a5e8c6f610f935fdbadf26d6278d477d71b83ca1890e78790299e5490ed6773a
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a5e8c6f610f9 nginx "nginx -g 'daemon of…" 3 seconds ago Up 2 seconds 80/tcp mynginx
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker run --name mynginx -d nginx
5>.单次运行容器(容器退出后会自动删除,主要用于临时验证镜像内容的是否符合咱们的标准,如配置文件目录组织结构等信息)
6>.启动容器时指定DNS服务器地址及主机名等
[root@docker201.yinzhengjie.org.cn ~]# docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest c7460dfcab50 4 days ago 126MB
alpine latest cc0abc535e36 2 weeks ago 5.59MB
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a5e8c6f610f9 nginx "nginx -g 'daemon of…" 18 minutes ago Up 18 minutes 80/tcp mynginx
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker run -it --rm --name mynginx-test --hostname yinzhengjieDocker --dns 219.141.136.10 --dns 219.141.140.10 nginx bash
root@yinzhengjieDocker:/#
root@yinzhengjieDocker:/# cat /etc/resolv.conf
search yinzhengjie.org.cn
nameserver 219.141.136.10
nameserver 219.141.140.10
root@yinzhengjieDocker:/#
root@yinzhengjieDocker:/#
[root@docker201.yinzhengjie.org.cn ~]# docker run -it --rm --name mynginx-test --hostname yinzhengjieDocker --dns 219.141.136.10 --dns 219.141.140.10 nginx bash
7>.创建容器时传递运行参数(容器需要有一个前台运行的进程才能保容器的运行,通过传递运行参数是一种方式,另外也可以在构建镜像的时候指定容器启动时在前台的运行命令)
[root@docker201.yinzhengjie.org.cn ~]# docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest c7460dfcab50 4 days ago 126MB
alpine latest cc0abc535e36 2 weeks ago 5.59MB
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# which tail
/usr/bin/tail
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker run -d --name myNginx nginx /usr/bin/tail -f "/etc/hosts"
fa701fc927e743ff44556fe4a12700fe180b399c2e6903d76a68a04613944c78
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
fa701fc927e7 nginx "/usr/bin/tail -f /e…" 4 seconds ago Up 3 seconds 80/tcp myNginx
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker run -d --name myNginx nginx /usr/bin/tail -f "/etc/hosts" #创建容器时传递运行参数
[root@docker201.yinzhengjie.org.cn ~]# docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
fa701fc927e7 nginx "/usr/bin/tail -f /e…" 37 seconds ago Up 36 seconds 80/tcp myNginx
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker container logs -f myNginx
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.17.0.2 fa701fc927e7
[root@docker201.yinzhengjie.org.cn ~]# docker container logs -f myNginx #实时查看容器的日志信息
二.查看容器
1>.查看正在运行的容器
[root@docker201.yinzhengjie.org.cn ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d7b7e5fc7ca5 nginx "nginx -g 'daemon of…" 24 hours ago Up 24 hours 0.0.0.0:81->80/tcp infallible_keller
274a04fde642 nginx "nginx -g 'daemon of…" 24 hours ago Up 24 hours 0.0.0.0:80->80/tcp zealous_tereshkova
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker container ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d7b7e5fc7ca5 nginx "nginx -g 'daemon of…" 24 hours ago Up 24 hours 0.0.0.0:81->80/tcp infallible_keller
274a04fde642 nginx "nginx -g 'daemon of…" 24 hours ago Up 24 hours 0.0.0.0:80->80/tcp zealous_tereshkova
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker container ps
2>.查看所有容器(包括当前正在运行以及已经关闭的所有容器)
[root@docker201.yinzhengjie.org.cn ~]# docker container ps --help
Usage: docker container ls [OPTIONS]
List containers
Aliases:
ls, ps, list
Options:
-a, --all Show all containers (default shows just running)
-f, --filter filter Filter output based on conditions provided
--format string Pretty-print containers using a Go template
-n, --last int Show n last created containers (includes all states) (default -1)
-l, --latest Show the latest created container (includes all states)
--no-trunc Don't truncate output
-q, --quiet Only display numeric IDs
-s, --size Display total file sizes
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker container ps --help
[root@docker201.yinzhengjie.org.cn ~]# docker ps --help
Usage: docker ps [OPTIONS]
List containers
Options:
-a, --all Show all containers (default shows just running)
-f, --filter filter Filter output based on conditions provided
--format string Pretty-print containers using a Go template
-n, --last int Show n last created containers (includes all states) (default -1)
-l, --latest Show the latest created container (includes all states)
--no-trunc Don't truncate output
-q, --quiet Only display numeric IDs
-s, --size Display total file sizes
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker ps --help
[root@docker201.yinzhengjie.org.cn ~]# docker container ls --help
Usage: docker container ls [OPTIONS]
List containers
Aliases:
ls, ps, list
Options:
-a, --all Show all containers (default shows just running)
-f, --filter filter Filter output based on conditions provided
--format string Pretty-print containers using a Go template
-n, --last int Show n last created containers (includes all states) (default -1)
-l, --latest Show the latest created container (includes all states)
--no-trunc Don't truncate output
-q, --quiet Only display numeric IDs
-s, --size Display total file sizes
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
274a04fde642 nginx "nginx -g 'daemon of…" 24 hours ago Up 24 hours 0.0.0.0:80->80/tcp zealous_tereshkova
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker container ls --help
[root@docker201.yinzhengjie.org.cn ~]# docker container list --help
Usage: docker container ls [OPTIONS]
List containers
Aliases:
ls, ps, list
Options:
-a, --all Show all containers (default shows just running)
-f, --filter filter Filter output based on conditions provided
--format string Pretty-print containers using a Go template
-n, --last int Show n last created containers (includes all states) (default -1)
-l, --latest Show the latest created container (includes all states)
--no-trunc Don't truncate output
-q, --quiet Only display numeric IDs
-s, --size Display total file sizes
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker container list
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
274a04fde642 nginx "nginx -g 'daemon of…" 24 hours ago Up 24 hours 0.0.0.0:80->80/tcp zealous_tereshkova
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker container list --help
[root@docker201.yinzhengjie.org.cn ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b348fb4b1c0a nginx "bash" 7 minutes ago Exited (0) 6 minutes ago hopeful_archimedes
5aa8329d672c nginx "bash" 7 minutes ago Exited (127) 7 minutes ago admiring_pare
d7b7e5fc7ca5 nginx "nginx -g 'daemon of…" 24 hours ago Up 24 hours 0.0.0.0:81->80/tcp infallible_keller
274a04fde642 nginx "nginx -g 'daemon of…" 24 hours ago Up 24 hours 0.0.0.0:80->80/tcp zealous_tereshkova
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker container ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b348fb4b1c0a nginx "bash" 7 minutes ago Exited (0) 6 minutes ago hopeful_archimedes
5aa8329d672c nginx "bash" 7 minutes ago Exited (127) 7 minutes ago admiring_pare
d7b7e5fc7ca5 nginx "nginx -g 'daemon of…" 24 hours ago Up 24 hours 0.0.0.0:81->80/tcp infallible_keller
274a04fde642 nginx "nginx -g 'daemon of…" 24 hours ago Up 24 hours 0.0.0.0:80->80/tcp zealous_tereshkova
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker container ps -a
三.删除运行中的容器
1>.删除单个容器
[root@docker201.yinzhengjie.org.cn ~]# docker container rm --help
Usage: docker container rm [OPTIONS] CONTAINER [CONTAINER...]
Remove one or more containers
Options:
-f, --force Force the removal of a running container (uses SIGKILL)
-l, --link Remove the specified link
-v, --volumes Remove the volumes associated with the container
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker container rm --help
[root@docker201.yinzhengjie.org.cn ~]# docker rm --help
Usage: docker rm [OPTIONS] CONTAINER [CONTAINER...]
Remove one or more containers
Options:
-f, --force Force the removal of a running container (uses SIGKILL)
-l, --link Remove the specified link
-v, --volumes Remove the volumes associated with the container
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker rm --help
[root@docker201.yinzhengjie.org.cn ~]# docker container ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b348fb4b1c0a nginx "bash" 9 minutes ago Exited (0) 8 minutes ago hopeful_archimedes
5aa8329d672c nginx "bash" 10 minutes ago Exited (127) 9 minutes ago admiring_pare
d7b7e5fc7ca5 nginx "nginx -g 'daemon of…" 24 hours ago Up 24 hours 0.0.0.0:81->80/tcp infallible_keller
274a04fde642 nginx "nginx -g 'daemon of…" 24 hours ago Up 24 hours 0.0.0.0:80->80/tcp zealous_tereshkova
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker container rm -f b348fb4b1c0a #基于容器的ID强制删除该容器
b348fb4b1c0a
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker rm -f 5aa8329d672c
5aa8329d672c
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker container rm -f d7b7e5fc7ca5
d7b7e5fc7ca5
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker container ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
274a04fde642 nginx "nginx -g 'daemon of…" 24 hours ago Up 24 hours 0.0.0.0:80->80/tcp zealous_tereshkova
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker container rm -f b348fb4b1c0a #基于容器的ID强制删除该容器
2>.删除多个容器
[root@docker201.yinzhengjie.org.cn ~]# docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ac3396d3ab7b nginx "nginx -g 'daemon of…" About a minute ago Up About a minute 0.0.0.0:53->53/udp, 0.0.0.0:443->443/tcp, 0.0.0.0:8085->80/tcp myNginx-test05
ebd2fdcc1327 nginx "nginx -g 'daemon of…" 2 minutes ago Up 2 minutes 192.168.6.201:8082->80/tcp myNginx-test04
725af16a867d nginx "nginx -g 'daemon of…" 3 minutes ago Up 3 minutes 192.168.6.201:10001->80/tcp myNginx-test03
c08f515bdba6 nginx "nginx -g 'daemon of…" 5 minutes ago Up 5 minutes 192.168.6.201:8081->80/tcp myNginx-test02
c39343ae12c8 nginx "nginx -g 'daemon of…" 6 minutes ago Up 6 minutes 0.0.0.0:8080->80/tcp myNginx-test01
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker container rm -f ac3396d3ab7b ebd2fdcc1327 725af16a867d c08f515bdba6 c39343ae12c8
ac3396d3ab7b
ebd2fdcc1327
725af16a867d
c08f515bdba6
c39343ae12c8
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker container rm -f ac3396d3ab7b ebd2fdcc1327 725af16a867d c08f515bdba6 c39343ae12c8
3>.批量删除状态为已退出的容器
[root@docker201.yinzhengjie.org.cn ~]# docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
864a9f0bb65a nginx "nginx -g 'daemon of…" 56 seconds ago Exited (0) 55 seconds ago quirky_saha
38f133d58c66 nginx "nginx -g 'daemon of…" 2 minutes ago Exited (0) 2 minutes ago unruffled_allen
8c45174343fe nginx "nginx -g 'daemon of…" 2 minutes ago Exited (0) 2 minutes ago gracious_montalcini
9bedca4e03be nginx "nginx -g 'daemon of…" 3 minutes ago Up 3 minutes 80/tcp, 0.0.0.0:50003->53/udp, 0.0.0.0:50001->80/udp, 0.0.0.0:50002->443/tcp myNginx-test05
d834dfa8cc11 nginx "nginx -g 'daemon of…" 6 minutes ago Up 6 minutes 80/tcp, 192.168.6.201:8084->80/udp myNginx-test04
665b167a24d7 nginx "nginx -g 'daemon of…" 8 minutes ago Up 8 minutes 192.168.6.201:10002->80/tcp myNginx-test03
9060a616cfd9 nginx "nginx -g 'daemon of…" 9 minutes ago Up 9 minutes 192.168.6.201:8082->80/tcp myNginx-test02
33960733ae46 nginx "nginx -g 'daemon of…" 10 minutes ago Up 10 minutes 0.0.0.0:8081->80/tcp myNginx-test01
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker container ps -aq -f status=exited
864a9f0bb65a
38f133d58c66
8c45174343fe
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker container rm -f `docker container ps -aq -f status=exited`
864a9f0bb65a
38f133d58c66
8c45174343fe
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9bedca4e03be nginx "nginx -g 'daemon of…" 3 minutes ago Up 3 minutes 80/tcp, 0.0.0.0:50003->53/udp, 0.0.0.0:50001->80/udp, 0.0.0.0:50002->443/tcp myNginx-test05
d834dfa8cc11 nginx "nginx -g 'daemon of…" 7 minutes ago Up 7 minutes 80/tcp, 192.168.6.201:8084->80/udp myNginx-test04
665b167a24d7 nginx "nginx -g 'daemon of…" 8 minutes ago Up 8 minutes 192.168.6.201:10002->80/tcp myNginx-test03
9060a616cfd9 nginx "nginx -g 'daemon of…" 10 minutes ago Up 10 minutes 192.168.6.201:8082->80/tcp myNginx-test02
33960733ae46 nginx "nginx -g 'daemon of…" 10 minutes ago Up 10 minutes 0.0.0.0:8081->80/tcp myNginx-test01
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker container rm -f docker container ps -aq -f status=exited
4>.批量关闭正在运行的容器
[root@docker201.yinzhengjie.org.cn ~]# docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8b429992e32f nginx "nginx -g 'daemon of…" 3 minutes ago Up 3 minutes 80/tcp, 0.0.0.0:50003->53/udp, 0.0.0.0:50001->80/udp, 0.0.0.0:50002->443/tcp myNginx-test05
68aa2fd7bef6 nginx "nginx -g 'daemon of…" 4 minutes ago Up 3 minutes 80/tcp, 192.168.6.201:8084->80/udp myNginx-test04
287ed27bcfd7 nginx "nginx -g 'daemon of…" 4 minutes ago Up 4 minutes 192.168.6.201:10003->80/tcp myNginx-test03
343aa3e9acf3 nginx "nginx -g 'daemon of…" 4 minutes ago Up 4 minutes 192.168.6.201:8082->80/tcp myNginx-test02
414b20722c93 nginx "nginx -g 'daemon of…" 4 minutes ago Up 4 minutes 0.0.0.0:8081->80/tcp myNginx-test01
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker container ps -a -q
8b429992e32f
68aa2fd7bef6
287ed27bcfd7
343aa3e9acf3
414b20722c93
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker stop $(docker container ps -a -q)
8b429992e32f
68aa2fd7bef6
287ed27bcfd7
343aa3e9acf3
414b20722c93
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8b429992e32f nginx "nginx -g 'daemon of…" 4 minutes ago Exited (0) 4 seconds ago myNginx-test05
68aa2fd7bef6 nginx "nginx -g 'daemon of…" 4 minutes ago Exited (0) 4 seconds ago myNginx-test04
287ed27bcfd7 nginx "nginx -g 'daemon of…" 4 minutes ago Exited (0) 4 seconds ago myNginx-test03
343aa3e9acf3 nginx "nginx -g 'daemon of…" 5 minutes ago Exited (0) 4 seconds ago myNginx-test02
414b20722c93 nginx "nginx -g 'daemon of…" 5 minutes ago Exited (0) 4 seconds ago myNginx-test01
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker stop $(docker container ps -a -q)
5>.批量开启正在运行的容器
[root@docker201.yinzhengjie.org.cn ~]# docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8b429992e32f nginx "nginx -g 'daemon of…" 6 minutes ago Exited (0) 2 minutes ago myNginx-test05
68aa2fd7bef6 nginx "nginx -g 'daemon of…" 6 minutes ago Exited (0) 2 minutes ago myNginx-test04
287ed27bcfd7 nginx "nginx -g 'daemon of…" 6 minutes ago Exited (0) 2 minutes ago myNginx-test03
343aa3e9acf3 nginx "nginx -g 'daemon of…" 7 minutes ago Exited (0) 2 minutes ago myNginx-test02
414b20722c93 nginx "nginx -g 'daemon of…" 7 minutes ago Exited (0) 2 minutes ago myNginx-test01
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker container ps -a -q -f status=exited
8b429992e32f
68aa2fd7bef6
287ed27bcfd7
343aa3e9acf3
414b20722c93
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker start $(docker container ps -a -q -f status=exited)
8b429992e32f
68aa2fd7bef6
287ed27bcfd7
343aa3e9acf3
414b20722c93
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8b429992e32f nginx "nginx -g 'daemon of…" 6 minutes ago Up 3 seconds 80/tcp, 0.0.0.0:50003->53/udp, 0.0.0.0:50001->80/udp, 0.0.0.0:50002->443/tcp myNginx-test05
68aa2fd7bef6 nginx "nginx -g 'daemon of…" 6 minutes ago Up 3 seconds 80/tcp, 192.168.6.201:8084->80/udp myNginx-test04
287ed27bcfd7 nginx "nginx -g 'daemon of…" 7 minutes ago Up 3 seconds 192.168.6.201:10004->80/tcp myNginx-test03
343aa3e9acf3 nginx "nginx -g 'daemon of…" 7 minutes ago Up 3 seconds 192.168.6.201:8082->80/tcp myNginx-test02
414b20722c93 nginx "nginx -g 'daemon of…" 7 minutes ago Up 2 seconds 0.0.0.0:8081->80/tcp myNginx-test01
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker start $(docker container ps -a -q -f status=exited)
6>.批量强制关闭正在运行的容器
[root@docker201.yinzhengjie.org.cn ~]# docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8b429992e32f nginx "nginx -g 'daemon of…" 9 minutes ago Up 2 minutes 80/tcp, 0.0.0.0:50003->53/udp, 0.0.0.0:50001->80/udp, 0.0.0.0:50002->443/tcp myNginx-test05
68aa2fd7bef6 nginx "nginx -g 'daemon of…" 9 minutes ago Up 2 minutes 80/tcp, 192.168.6.201:8084->80/udp myNginx-test04
287ed27bcfd7 nginx "nginx -g 'daemon of…" 10 minutes ago Up 2 minutes 192.168.6.201:10004->80/tcp myNginx-test03
343aa3e9acf3 nginx "nginx -g 'daemon of…" 10 minutes ago Up 2 minutes 192.168.6.201:8082->80/tcp myNginx-test02
414b20722c93 nginx "nginx -g 'daemon of…" 10 minutes ago Up 2 minutes 0.0.0.0:8081->80/tcp myNginx-test01
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker container ps -a -q
8b429992e32f
68aa2fd7bef6
287ed27bcfd7
343aa3e9acf3
414b20722c93
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker kill $(docker container ps -a -q)
8b429992e32f
68aa2fd7bef6
287ed27bcfd7
343aa3e9acf3
414b20722c93
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8b429992e32f nginx "nginx -g 'daemon of…" 9 minutes ago Exited (137) 3 seconds ago myNginx-test05
68aa2fd7bef6 nginx "nginx -g 'daemon of…" 9 minutes ago Exited (137) 3 seconds ago myNginx-test04
287ed27bcfd7 nginx "nginx -g 'daemon of…" 10 minutes ago Exited (137) 3 seconds ago myNginx-test03
343aa3e9acf3 nginx "nginx -g 'daemon of…" 10 minutes ago Exited (137) 3 seconds ago myNginx-test02
414b20722c93 nginx "nginx -g 'daemon of…" 10 minutes ago Exited (137) 3 seconds ago myNginx-test01
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker kill $(docker container ps -a -q)
7>.批量删除所有容器
[root@docker201.yinzhengjie.org.cn ~]# docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a1991e43206d nginx "nginx -g 'daemon of…" 3 seconds ago Exited (0) 2 seconds ago happy_spence
9adf29a44026 nginx "nginx -g 'daemon of…" 4 seconds ago Exited (0) 3 seconds ago goofy_mendeleev
da17f02e11fb nginx "nginx -g 'daemon of…" 5 seconds ago Exited (0) 5 seconds ago awesome_spence
6311f1a11a71 nginx "nginx -g 'daemon of…" 7 seconds ago Exited (0) 6 seconds ago tender_bassi
9bedca4e03be nginx "nginx -g 'daemon of…" 7 minutes ago Up 7 minutes 80/tcp, 0.0.0.0:50003->53/udp, 0.0.0.0:50001->80/udp, 0.0.0.0:50002->443/tcp myNginx-test05
d834dfa8cc11 nginx "nginx -g 'daemon of…" 10 minutes ago Up 10 minutes 80/tcp, 192.168.6.201:8084->80/udp myNginx-test04
665b167a24d7 nginx "nginx -g 'daemon of…" 12 minutes ago Up 12 minutes 192.168.6.201:10002->80/tcp myNginx-test03
9060a616cfd9 nginx "nginx -g 'daemon of…" 13 minutes ago Up 13 minutes 192.168.6.201:8082->80/tcp myNginx-test02
33960733ae46 nginx "nginx -g 'daemon of…" 13 minutes ago Up 13 minutes 0.0.0.0:8081->80/tcp myNginx-test01
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker container ps -a -q
a1991e43206d
9adf29a44026
da17f02e11fb
6311f1a11a71
9bedca4e03be
d834dfa8cc11
665b167a24d7
9060a616cfd9
33960733ae46
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker container rm -f $(docker container ps -a -q)
a1991e43206d
9adf29a44026
da17f02e11fb
6311f1a11a71
9bedca4e03be
d834dfa8cc11
665b167a24d7
9060a616cfd9
33960733ae46
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker container rm -f $(docker container ps -a -q)
四.容器的端口映射
1>.随机端口映射
[root@docker201.yinzhengjie.org.cn ~]# docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a177d1d09dad nginx "nginx -g 'daemon of…" About a minute ago Exited (0) 2 seconds ago blissful_chatterjee
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker container rm -f a177d1d09dad
a177d1d09dad
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest c7460dfcab50 4 days ago 126MB
alpine latest cc0abc535e36 2 weeks ago 5.59MB
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# ss -ntl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:22 *:*
LISTEN 0 100 127.0.0.1:25 *:*
LISTEN 0 128 :::22 :::*
LISTEN 0 100 ::1:25 :::*
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker run -P nginx #前台启动并随机映射本地端口到容器的80端口
172.17.0.1 - - [14/Jan/2020:13:32:14 +0000] "HEAD / HTTP/1.1" 200 0 "-" "curl/7.29.0" "-"
192.168.0.1 - - [14/Jan/2020:13:36:25 +0000] "GET / HTTP/1.1" 200 612 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36" "-"
2020/01/14 13:36:25 [error] 6#6: *2 open() "/usr/share/nginx/html/favicon.ico" failed (2: No such file or directory), client: 192.168.0.1, server: localhost, request: "GET /favicon.ico HTTP/1.1", host: "docker201.yinzhengjie.org.cn:10004", referrer: "http://docker201.yi
nzhengjie.org.cn:10004/"192.168.0.1 - - [14/Jan/2020:13:36:25 +0000] "GET /favicon.ico HTTP/1.1" 404 555 "http://docker201.yinzhengjie.org.cn:10004/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36" "-"
[root@docker201.yinzhengjie.org.cn ~]# docker run -P nginx #前台启动并随机映射本地端口到容器的80端口
2>.指定端口映射
[root@docker201.yinzhengjie.org.cn ~]# hostname -i
192.168.6.201
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# ss -ntlu
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
tcp LISTEN 0 128 *:22 *:*
tcp LISTEN 0 100 127.0.0.1:25 *:*
tcp LISTEN 0 128 :::22 :::*
tcp LISTEN 0 100 ::1:25 :::*
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest c7460dfcab50 4 days ago 126MB
alpine latest cc0abc535e36 2 weeks ago 5.59MB
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker run -p 10001:80 --name myNginx-test01 -it -d nginx #将本地所有地址的10001端口映射到容器的80端口
2e51b900b725c2eddc90b47272f0eb875bfbd367e836c975868f767f70dcade0
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker run -p 192.168.6.201:20002:80 --name myNginx-test02 -it -d nginx #将本地192.168.6.201对应的IP地址的20002端口映射到容器的80端口
5025a1b50aee770c4cd0507d7d93925b0e6a5a56895438c7aee522a5d9d041b0
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker run -p 192.168.6.201::80 --name myNginx-test03 -it -d nginx #将本地192.168.6.201对应的IP地址的随机端口映射到容器的80端口
5f951096e1224514c5b9f813700013041b34ae949ff5a7f697cfd07103df1e19
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker run -p 192.168.6.201:40004:80/udp --name myNginx-test04 -it -d nginx #将本地192.168.6.201对应的IP地址的40004端口映射到容器的80UDP端口,如果不指定协议默认为UDP端口
5fc11671b64e941eb50b77d1b6917e36628b75789f8fd81115ff987de7334099
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker run -p 50001:80/udp -p 50002:443/tcp -p50003:53/udp --name myNginx-test05 -it -d nginx #咱们还可以一次性映射多个端口/协议哟~
3df151d899dc264a4ab14de17b9d867334fc5ea3415445129e3a9c05c27b9e0b
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# ss -ntlu
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
udp UNCONN 0 0 192.168.6.201:40004 *:*
udp UNCONN 0 0 :::50001 :::*
udp UNCONN 0 0 :::50003 :::*
tcp LISTEN 0 20480 192.168.6.201:10006 *:*
tcp LISTEN 0 128 *:22 *:*
tcp LISTEN 0 100 127.0.0.1:25 *:*
tcp LISTEN 0 20480 192.168.6.201:20002 *:*
tcp LISTEN 0 20480 :::10001 :::*
tcp LISTEN 0 20480 :::50002 :::*
tcp LISTEN 0 128 :::22 :::*
tcp LISTEN 0 100 ::1:25 :::*
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3df151d899dc nginx "nginx -g 'daemon of…" 2 minutes ago Up 2 minutes 80/tcp, 0.0.0.0:50003->53/udp, 0.0.0.0:50001->80/udp, 0.0.0.0:50002->443/tcp myNginx-test05
5fc11671b64e nginx "nginx -g 'daemon of…" 2 minutes ago Up 2 minutes 80/tcp, 192.168.6.201:40004->80/udp myNginx-test04
5f951096e122 nginx "nginx -g 'daemon of…" 3 minutes ago Up 3 minutes 192.168.6.201:10006->80/tcp myNginx-test03
5025a1b50aee nginx "nginx -g 'daemon of…" 3 minutes ago Up 3 minutes 192.168.6.201:20002->80/tcp myNginx-test02
2e51b900b725 nginx "nginx -g 'daemon of…" 3 minutes ago Up 3 minutes 0.0.0.0:10001->80/tcp myNginx-test01
[root@docker201.yinzhengjie.org.cn ~]#
3>.查看容器已经映射的端口
[root@docker201.yinzhengjie.org.cn ~]# docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
52e04f0425c5 nginx "nginx -g 'daemon of…" About a minute ago Up About a minute 80/tcp, 0.0.0.0:50003->53/udp, 0.0.0.0:50001->80/udp, 0.0.0.0:50002->443/tcp myNginx-test05
b4f9179d6229 nginx "nginx -g 'daemon of…" About a minute ago Up About a minute 80/tcp, 192.168.6.201:40004->80/udp myNginx-test04
b0b4bc54e0d7 nginx "nginx -g 'daemon of…" 2 minutes ago Up 2 minutes 192.168.6.201:10005->80/tcp myNginx-test03
988b6c0f23dc nginx "nginx -g 'daemon of…" 2 minutes ago Up 2 minutes 192.168.6.201:20002->80/tcp myNginx-test02
c4a0488ca019 nginx "nginx -g 'daemon of…" 2 minutes ago Up 2 minutes 0.0.0.0:10001->80/tcp myNginx-test01
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker container port myNginx-test05
443/tcp -> 0.0.0.0:50002
53/udp -> 0.0.0.0:50003
80/udp -> 0.0.0.0:50001
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker container port myNginx-test04
80/udp -> 192.168.6.201:40004
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker container port myNginx-test03
80/tcp -> 192.168.6.201:10005
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker container port myNginx-test02
80/tcp -> 192.168.6.201:20002
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker container port myNginx-test01
80/tcp -> 0.0.0.0:10001
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker container port myNginx-test05
五.使用inspect命令获取容器的信息
1>.获取容器的详细信息
[root@docker201.yinzhengjie.org.cn ~]# docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
73fe91c5c64d nginx "bash" 14 minutes ago Up 14 minutes 80/tcp myNginx
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker container inspect myNginx
[
{
"Id": "73fe91c5c64dc77d29ab091380c0c8cbbd99d4c4f408eae20ca8186476f8e89c",
"Created": "2020-01-14T16:02:43.057451405Z",
"Path": "bash",
"Args": [],
"State": {
"Status": "running",
"Running": true,
"Paused": false,
"Restarting": false,
"OOMKilled": false,
"Dead": false,
"Pid": 36347,
"ExitCode": 0,
"Error": "",
"StartedAt": "2020-01-14T16:02:43.272590229Z",
"FinishedAt": "0001-01-01T00:00:00Z"
},
"Image": "sha256:c7460dfcab502275e9c842588df406444069c00a48d9a995619c243079a4c2f7",
"ResolvConfPath": "/var/lib/docker/containers/73fe91c5c64dc77d29ab091380c0c8cbbd99d4c4f408eae20ca8186476f8e89c/resolv.conf",
"HostnamePath": "/var/lib/docker/containers/73fe91c5c64dc77d29ab091380c0c8cbbd99d4c4f408eae20ca8186476f8e89c/hostname",
"HostsPath": "/var/lib/docker/containers/73fe91c5c64dc77d29ab091380c0c8cbbd99d4c4f408eae20ca8186476f8e89c/hosts",
"LogPath": "/var/lib/docker/containers/73fe91c5c64dc77d29ab091380c0c8cbbd99d4c4f408eae20ca8186476f8e89c/73fe91c5c64dc77d29ab091380c0c8cbbd99d4c4f408eae20ca8186476f8e89c-json.log",
"Name": "/myNginx",
"RestartCount": 0,
"Driver": "overlay2",
"Platform": "linux",
"MountLabel": "",
"ProcessLabel": "",
"AppArmorProfile": "",
"ExecIDs": null,
"HostConfig": {
"Binds": null,
"ContainerIDFile": "",
"LogConfig": {
"Type": "json-file",
"Config": {}
},
"NetworkMode": "default",
"PortBindings": {},
"RestartPolicy": {
"Name": "no",
"MaximumRetryCount": 0
},
"AutoRemove": false,
"VolumeDriver": "",
"VolumesFrom": null,
"CapAdd": null,
"CapDrop": null,
"Dns": [],
"DnsOptions": [],
"DnsSearch": [],
"ExtraHosts": null,
"GroupAdd": null,
"IpcMode": "shareable",
"Cgroup": "",
"Links": null,
"OomScoreAdj": 0,
"PidMode": "",
"Privileged": false,
"PublishAllPorts": false,
"ReadonlyRootfs": false,
"SecurityOpt": null,
"UTSMode": "",
"UsernsMode": "",
"ShmSize": 67108864,
"Runtime": "runc",
"ConsoleSize": [
0,
0
],
"Isolation": "",
"CpuShares": 0,
"Memory": 0,
"NanoCpus": 0,
"CgroupParent": "",
"BlkioWeight": 0,
"BlkioWeightDevice": [],
"BlkioDeviceReadBps": null,
"BlkioDeviceWriteBps": null,
"BlkioDeviceReadIOps": null,
"BlkioDeviceWriteIOps": null,
"CpuPeriod": 0,
"CpuQuota": 0,
"CpuRealtimePeriod": 0,
"CpuRealtimeRuntime": 0,
"CpusetCpus": "",
"CpusetMems": "",
"Devices": [],
"DeviceCgroupRules": null,
"DiskQuota": 0,
"KernelMemory": 0,
"MemoryReservation": 0,
"MemorySwap": 0,
"MemorySwappiness": null,
"OomKillDisable": false,
"PidsLimit": 0,
"Ulimits": null,
"CpuCount": 0,
"CpuPercent": 0,
"IOMaximumIOps": 0,
"IOMaximumBandwidth": 0,
"MaskedPaths": [
"/proc/acpi",
"/proc/kcore",
"/proc/keys",
"/proc/latency_stats",
"/proc/timer_list",
"/proc/timer_stats",
"/proc/sched_debug",
"/proc/scsi",
"/sys/firmware"
],
"ReadonlyPaths": [
"/proc/asound",
"/proc/bus",
"/proc/fs",
"/proc/irq",
"/proc/sys",
"/proc/sysrq-trigger"
]
},
"GraphDriver": {
"Data": {
"LowerDir": "/var/lib/docker/overlay2/491db204831591ddd26d085f082c1c7e1018ec7ed3421366c0ad7151398b144a-init/diff:/var/lib/docker/overlay2/df7fdc067554069fd6b56e73a90f5930e214e02d06b09f6476338606a8afc229/diff:/var/lib/docker/overlay2/97b082db97c394355eff2
e2d66872cd9f15d29a1453ba59675e822778ebe6beb/diff:/var/lib/docker/overlay2/ec680257b5ca772d2d7deacfd2b200359ea9bf4f02748ae3e143765475db8d7f/diff", "MergedDir": "/var/lib/docker/overlay2/491db204831591ddd26d085f082c1c7e1018ec7ed3421366c0ad7151398b144a/merged",
"UpperDir": "/var/lib/docker/overlay2/491db204831591ddd26d085f082c1c7e1018ec7ed3421366c0ad7151398b144a/diff",
"WorkDir": "/var/lib/docker/overlay2/491db204831591ddd26d085f082c1c7e1018ec7ed3421366c0ad7151398b144a/work"
},
"Name": "overlay2"
},
"Mounts": [],
"Config": {
"Hostname": "73fe91c5c64d",
"Domainname": "",
"User": "",
"AttachStdin": true,
"AttachStdout": true,
"AttachStderr": true,
"ExposedPorts": {
"80/tcp": {}
},
"Tty": true,
"OpenStdin": true,
"StdinOnce": true,
"Env": [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"NGINX_VERSION=1.17.7",
"NJS_VERSION=0.3.7",
"PKG_RELEASE=1~buster"
],
"Cmd": [
"bash"
],
"Image": "nginx",
"Volumes": null,
"WorkingDir": "",
"Entrypoint": null,
"OnBuild": null,
"Labels": {
"maintainer": "NGINX Docker Maintainers <docker-maint@nginx.com>"
},
"StopSignal": "SIGTERM"
},
"NetworkSettings": {
"Bridge": "",
"SandboxID": "4d67f70a6813afad37ecf89da579c3c70b9f622b805392ae915bd0ab6c000645",
"HairpinMode": false,
"LinkLocalIPv6Address": "",
"LinkLocalIPv6PrefixLen": 0,
"Ports": {
"80/tcp": null
},
"SandboxKey": "/var/run/docker/netns/4d67f70a6813",
"SecondaryIPAddresses": null,
"SecondaryIPv6Addresses": null,
"EndpointID": "807d0935eb0323e5433a417290100b76629ab95242dbb5fc245c209892a45ba7",
"Gateway": "172.17.0.1",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"IPAddress": "172.17.0.2",
"IPPrefixLen": 16,
"IPv6Gateway": "",
"MacAddress": "02:42:ac:11:00:02",
"Networks": {
"bridge": {
"IPAMConfig": null,
"Links": null,
"Aliases": null,
"NetworkID": "6b5b315db88a606c34602848b033adbd202fbd04e7de53c5daf9a06e982e1e4c",
"EndpointID": "807d0935eb0323e5433a417290100b76629ab95242dbb5fc245c209892a45ba7",
"Gateway": "172.17.0.1",
"IPAddress": "172.17.0.2",
"IPPrefixLen": 16,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"MacAddress": "02:42:ac:11:00:02",
"DriverOpts": null
}
}
}
}
]
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker container inspect myNginx #查看容器名称为"myNginx"的容器详细信息
[root@docker201.yinzhengjie.org.cn ~]# docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
73fe91c5c64d nginx "bash" 15 minutes ago Up 15 minutes 80/tcp myNginx
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker container inspect 73fe91c5c64d
[
{
"Id": "73fe91c5c64dc77d29ab091380c0c8cbbd99d4c4f408eae20ca8186476f8e89c",
"Created": "2020-01-14T16:02:43.057451405Z",
"Path": "bash",
"Args": [],
"State": {
"Status": "running",
"Running": true,
"Paused": false,
"Restarting": false,
"OOMKilled": false,
"Dead": false,
"Pid": 36347,
"ExitCode": 0,
"Error": "",
"StartedAt": "2020-01-14T16:02:43.272590229Z",
"FinishedAt": "0001-01-01T00:00:00Z"
},
"Image": "sha256:c7460dfcab502275e9c842588df406444069c00a48d9a995619c243079a4c2f7",
"ResolvConfPath": "/var/lib/docker/containers/73fe91c5c64dc77d29ab091380c0c8cbbd99d4c4f408eae20ca8186476f8e89c/resolv.conf",
"HostnamePath": "/var/lib/docker/containers/73fe91c5c64dc77d29ab091380c0c8cbbd99d4c4f408eae20ca8186476f8e89c/hostname",
"HostsPath": "/var/lib/docker/containers/73fe91c5c64dc77d29ab091380c0c8cbbd99d4c4f408eae20ca8186476f8e89c/hosts",
"LogPath": "/var/lib/docker/containers/73fe91c5c64dc77d29ab091380c0c8cbbd99d4c4f408eae20ca8186476f8e89c/73fe91c5c64dc77d29ab091380c0c8cbbd99d4c4f408eae20ca8186476f8e89c-json.log",
"Name": "/myNginx",
"RestartCount": 0,
"Driver": "overlay2",
"Platform": "linux",
"MountLabel": "",
"ProcessLabel": "",
"AppArmorProfile": "",
"ExecIDs": null,
"HostConfig": {
"Binds": null,
"ContainerIDFile": "",
"LogConfig": {
"Type": "json-file",
"Config": {}
},
"NetworkMode": "default",
"PortBindings": {},
"RestartPolicy": {
"Name": "no",
"MaximumRetryCount": 0
},
"AutoRemove": false,
"VolumeDriver": "",
"VolumesFrom": null,
"CapAdd": null,
"CapDrop": null,
"Dns": [],
"DnsOptions": [],
"DnsSearch": [],
"ExtraHosts": null,
"GroupAdd": null,
"IpcMode": "shareable",
"Cgroup": "",
"Links": null,
"OomScoreAdj": 0,
"PidMode": "",
"Privileged": false,
"PublishAllPorts": false,
"ReadonlyRootfs": false,
"SecurityOpt": null,
"UTSMode": "",
"UsernsMode": "",
"ShmSize": 67108864,
"Runtime": "runc",
"ConsoleSize": [
0,
0
],
"Isolation": "",
"CpuShares": 0,
"Memory": 0,
"NanoCpus": 0,
"CgroupParent": "",
"BlkioWeight": 0,
"BlkioWeightDevice": [],
"BlkioDeviceReadBps": null,
"BlkioDeviceWriteBps": null,
"BlkioDeviceReadIOps": null,
"BlkioDeviceWriteIOps": null,
"CpuPeriod": 0,
"CpuQuota": 0,
"CpuRealtimePeriod": 0,
"CpuRealtimeRuntime": 0,
"CpusetCpus": "",
"CpusetMems": "",
"Devices": [],
"DeviceCgroupRules": null,
"DiskQuota": 0,
"KernelMemory": 0,
"MemoryReservation": 0,
"MemorySwap": 0,
"MemorySwappiness": null,
"OomKillDisable": false,
"PidsLimit": 0,
"Ulimits": null,
"CpuCount": 0,
"CpuPercent": 0,
"IOMaximumIOps": 0,
"IOMaximumBandwidth": 0,
"MaskedPaths": [
"/proc/acpi",
"/proc/kcore",
"/proc/keys",
"/proc/latency_stats",
"/proc/timer_list",
"/proc/timer_stats",
"/proc/sched_debug",
"/proc/scsi",
"/sys/firmware"
],
"ReadonlyPaths": [
"/proc/asound",
"/proc/bus",
"/proc/fs",
"/proc/irq",
"/proc/sys",
"/proc/sysrq-trigger"
]
},
"GraphDriver": {
"Data": {
"LowerDir": "/var/lib/docker/overlay2/491db204831591ddd26d085f082c1c7e1018ec7ed3421366c0ad7151398b144a-init/diff:/var/lib/docker/overlay2/df7fdc067554069fd6b56e73a90f5930e214e02d06b09f6476338606a8afc229/diff:/var/lib/docker/overlay2/97b082db97c394355eff2
e2d66872cd9f15d29a1453ba59675e822778ebe6beb/diff:/var/lib/docker/overlay2/ec680257b5ca772d2d7deacfd2b200359ea9bf4f02748ae3e143765475db8d7f/diff", "MergedDir": "/var/lib/docker/overlay2/491db204831591ddd26d085f082c1c7e1018ec7ed3421366c0ad7151398b144a/merged",
"UpperDir": "/var/lib/docker/overlay2/491db204831591ddd26d085f082c1c7e1018ec7ed3421366c0ad7151398b144a/diff",
"WorkDir": "/var/lib/docker/overlay2/491db204831591ddd26d085f082c1c7e1018ec7ed3421366c0ad7151398b144a/work"
},
"Name": "overlay2"
},
"Mounts": [],
"Config": {
"Hostname": "73fe91c5c64d",
"Domainname": "",
"User": "",
"AttachStdin": true,
"AttachStdout": true,
"AttachStderr": true,
"ExposedPorts": {
"80/tcp": {}
},
"Tty": true,
"OpenStdin": true,
"StdinOnce": true,
"Env": [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"NGINX_VERSION=1.17.7",
"NJS_VERSION=0.3.7",
"PKG_RELEASE=1~buster"
],
"Cmd": [
"bash"
],
"Image": "nginx",
"Volumes": null,
"WorkingDir": "",
"Entrypoint": null,
"OnBuild": null,
"Labels": {
"maintainer": "NGINX Docker Maintainers <docker-maint@nginx.com>"
},
"StopSignal": "SIGTERM"
},
"NetworkSettings": {
"Bridge": "",
"SandboxID": "4d67f70a6813afad37ecf89da579c3c70b9f622b805392ae915bd0ab6c000645",
"HairpinMode": false,
"LinkLocalIPv6Address": "",
"LinkLocalIPv6PrefixLen": 0,
"Ports": {
"80/tcp": null
},
"SandboxKey": "/var/run/docker/netns/4d67f70a6813",
"SecondaryIPAddresses": null,
"SecondaryIPv6Addresses": null,
"EndpointID": "807d0935eb0323e5433a417290100b76629ab95242dbb5fc245c209892a45ba7",
"Gateway": "172.17.0.1",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"IPAddress": "172.17.0.2",
"IPPrefixLen": 16,
"IPv6Gateway": "",
"MacAddress": "02:42:ac:11:00:02",
"Networks": {
"bridge": {
"IPAMConfig": null,
"Links": null,
"Aliases": null,
"NetworkID": "6b5b315db88a606c34602848b033adbd202fbd04e7de53c5daf9a06e982e1e4c",
"EndpointID": "807d0935eb0323e5433a417290100b76629ab95242dbb5fc245c209892a45ba7",
"Gateway": "172.17.0.1",
"IPAddress": "172.17.0.2",
"IPPrefixLen": 16,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"MacAddress": "02:42:ac:11:00:02",
"DriverOpts": null
}
}
}
}
]
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker container inspect 73fe91c5c64d #当然,也可以基于容器ID查看该容器的详细信息哟~
2>.获取容器的IP地址
[root@docker201.yinzhengjie.org.cn ~]# docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
73fe91c5c64d nginx "bash" 8 minutes ago Up 8 minutes 80/tcp myNginx
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker container inspect -f "{
{.NetworkSettings.IPAddress}}" 73fe91c5c64d #可以指定容器的ID
172.17.0.2
[root@docker201.yinzhengjie.org.cn ~]# [root@docker201.yinzhengjie.org.cn ~]# docker container inspect -f "{
{.NetworkSettings.IPAddress}}" myNginx #也可以指定容器的名称
172.17.0.2
[root@docker201.yinzhengjie.org.cn ~]#
3>.获取容器的PID信息
[root@docker201.yinzhengjie.org.cn ~]# docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
73fe91c5c64d nginx "bash" 8 minutes ago Up 8 minutes 80/tcp myNginx
[root@docker201.yinzhengjie.org.cn ~]# [root@docker201.yinzhengjie.org.cn ~]# docker container inspect -f "{
{.State.Pid}}" 73fe91c5c64d
36347
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker container inspect -f "{
{.State.Pid}}" myNginx
36347
[root@docker201.yinzhengjie.org.cn ~]#
六.进入到正在运行的容器
1>.使用attach命令连接正在运行的容器(生产环境中不推荐使用,因为使用exit退出后容器会跟着自动关闭)
[root@docker201.yinzhengjie.org.cn ~]# docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c212441f89c4 nginx "bash" 3 seconds ago Up 2 seconds 80/tcp myNginx
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker container attach c212441f89c4
root@c212441f89c4:/#
root@c212441f89c4:/# ls /
bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
root@c212441f89c4:/#
root@c212441f89c4:/# date
Tue Jan 14 15:53:02 UTC 2020
root@c212441f89c4:/#
root@c212441f89c4:/# date +%Y-%m-%d-%H:%M:%S
2020-01-14-15:55:05
root@c212441f89c4:/#
root@c212441f89c4:/# exit
exit
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c212441f89c4 nginx "bash" 3 minutes ago Exited (0) 3 seconds ago myNginx
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker container attach c212441f89c4 #指定需要连接容器的容器ID
2>.使用exec命令(生产环境推荐使用这种方式)
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
73fe91c5c64d nginx "bash" 4 seconds ago Up 4 seconds 80/tcp myNginx
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker container exec -it myNginx bash
root@73fe91c5c64d:/#
root@73fe91c5c64d:/# cat /etc/hosts
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.17.0.2 73fe91c5c64d
root@73fe91c5c64d:/#
root@73fe91c5c64d:/# exit
exit
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
73fe91c5c64d nginx "bash" 43 seconds ago Up 42 seconds 80/tcp myNginx
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker container exec -it myNginx bash
3>.使用nsenter命令(生产环境也推荐使用这种方式,但需要单独安装nsenter命令)
[root@docker201.yinzhengjie.org.cn ~]# yum -y install util-linux #安装nsenter命令
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.tuna.tsinghua.edu.cn
* extras: mirrors.tuna.tsinghua.edu.cn
* updates: mirrors.tuna.tsinghua.edu.cn
base | 3.6 kB 00:00:00
docker-ce-stable | 3.5 kB 00:00:00
extras | 2.9 kB 00:00:00
pouch-stable | 2.9 kB 00:00:00
updates | 2.9 kB 00:00:00
Resolving Dependencies
--> Running transaction check
---> Package util-linux.x86_64 0:2.23.2-59.el7 will be updated
---> Package util-linux.x86_64 0:2.23.2-61.el7_7.1 will be an update
--> Processing Dependency: libuuid = 2.23.2-61.el7_7.1 for package: util-linux-2.23.2-61.el7_7.1.x86_64
--> Processing Dependency: libsmartcols = 2.23.2-61.el7_7.1 for package: util-linux-2.23.2-61.el7_7.1.x86_64
--> Processing Dependency: libmount = 2.23.2-61.el7_7.1 for package: util-linux-2.23.2-61.el7_7.1.x86_64
--> Processing Dependency: libblkid = 2.23.2-61.el7_7.1 for package: util-linux-2.23.2-61.el7_7.1.x86_64
--> Running transaction check
---> Package libblkid.x86_64 0:2.23.2-59.el7 will be updated
---> Package libblkid.x86_64 0:2.23.2-61.el7_7.1 will be an update
---> Package libmount.x86_64 0:2.23.2-59.el7 will be updated
---> Package libmount.x86_64 0:2.23.2-61.el7_7.1 will be an update
---> Package libsmartcols.x86_64 0:2.23.2-59.el7 will be updated
---> Package libsmartcols.x86_64 0:2.23.2-61.el7_7.1 will be an update
---> Package libuuid.x86_64 0:2.23.2-59.el7 will be updated
---> Package libuuid.x86_64 0:2.23.2-61.el7_7.1 will be an update
--> Finished Dependency Resolution
Dependencies Resolved
==============================================================================================================================================================================================================================================================================
Package Arch Version Repository Size
==============================================================================================================================================================================================================================================================================
Updating:
util-linux x86_64 2.23.2-61.el7_7.1 updates 2.0 M
Updating for dependencies:
libblkid x86_64 2.23.2-61.el7_7.1 updates 181 k
libmount x86_64 2.23.2-61.el7_7.1 updates 183 k
libsmartcols x86_64 2.23.2-61.el7_7.1 updates 141 k
libuuid x86_64 2.23.2-61.el7_7.1 updates 83 k
Transaction Summary
==============================================================================================================================================================================================================================================================================
Upgrade 1 Package (+4 Dependent packages)
Total download size: 2.6 M
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
(1/5): libblkid-2.23.2-61.el7_7.1.x86_64.rpm | 181 kB 00:00:00
(2/5): libmount-2.23.2-61.el7_7.1.x86_64.rpm | 183 kB 00:00:00
(3/5): libuuid-2.23.2-61.el7_7.1.x86_64.rpm | 83 kB 00:00:00
(4/5): util-linux-2.23.2-61.el7_7.1.x86_64.rpm | 2.0 MB 00:00:00
(5/5): libsmartcols-2.23.2-61.el7_7.1.x86_64.rpm | 141 kB 00:00:02
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total 899 kB/s | 2.6 MB 00:00:02
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Updating : libuuid-2.23.2-61.el7_7.1.x86_64 1/10
/sbin/ldconfig: /lib64/libnvidia-container.so.1 is not a symbolic link
Updating : libblkid-2.23.2-61.el7_7.1.x86_64 2/10
/sbin/ldconfig: /lib64/libnvidia-container.so.1 is not a symbolic link
Updating : libmount-2.23.2-61.el7_7.1.x86_64 3/10
/sbin/ldconfig: /lib64/libnvidia-container.so.1 is not a symbolic link
Updating : libsmartcols-2.23.2-61.el7_7.1.x86_64 4/10
/sbin/ldconfig: /lib64/libnvidia-container.so.1 is not a symbolic link
Updating : util-linux-2.23.2-61.el7_7.1.x86_64 5/10
Cleanup : util-linux-2.23.2-59.el7.x86_64 6/10
Cleanup : libmount-2.23.2-59.el7.x86_64 7/10
/sbin/ldconfig: /lib64/libnvidia-container.so.1 is not a symbolic link
Cleanup : libblkid-2.23.2-59.el7.x86_64 8/10
/sbin/ldconfig: /lib64/libnvidia-container.so.1 is not a symbolic link
Cleanup : libuuid-2.23.2-59.el7.x86_64 9/10
/sbin/ldconfig: /lib64/libnvidia-container.so.1 is not a symbolic link
Cleanup : libsmartcols-2.23.2-59.el7.x86_64 10/10
/sbin/ldconfig: /lib64/libnvidia-container.so.1 is not a symbolic link
Verifying : libblkid-2.23.2-61.el7_7.1.x86_64 1/10
Verifying : util-linux-2.23.2-61.el7_7.1.x86_64 2/10
Verifying : libsmartcols-2.23.2-61.el7_7.1.x86_64 3/10
Verifying : libmount-2.23.2-61.el7_7.1.x86_64 4/10
Verifying : libuuid-2.23.2-61.el7_7.1.x86_64 5/10
Verifying : libuuid-2.23.2-59.el7.x86_64 6/10
Verifying : libblkid-2.23.2-59.el7.x86_64 7/10
Verifying : libmount-2.23.2-59.el7.x86_64 8/10
Verifying : util-linux-2.23.2-59.el7.x86_64 9/10
Verifying : libsmartcols-2.23.2-59.el7.x86_64 10/10
Updated:
util-linux.x86_64 0:2.23.2-61.el7_7.1
Dependency Updated:
libblkid.x86_64 0:2.23.2-61.el7_7.1 libmount.x86_64 0:2.23.2-61.el7_7.1 libsmartcols.x86_64 0:2.23.2-61.el7_7.1 libuuid.x86_64 0:2.23.2-61.el7_7.1
Complete!
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# yum -y install util-linux #安装nsenter命令
[root@docker201.yinzhengjie.org.cn ~]# docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
73fe91c5c64d nginx "bash" 20 minutes ago Up 20 minutes 80/tcp myNginx
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker container inspect -f "{
{.State.Pid}}" myNginx #获取PID
36347
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# nsenter -t 36347 -m -u -i -n -p #通过容器的PID连接运行中的容器
mesg: ttyname failed: No such device
root@73fe91c5c64d:/#
root@73fe91c5c64d:/# cat /etc/issue
Debian GNU/Linux 10 n l
root@73fe91c5c64d:/#
root@73fe91c5c64d:/# cat /etc/resolv.conf
# Generated by NetworkManager
search yinzhengjie.org.cn
nameserver 192.168.7.254
root@73fe91c5c64d:/#
root@73fe91c5c64d:/# exit
logout
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
73fe91c5c64d nginx "bash" 22 minutes ago Up 22 minutes 80/tcp myNginx
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# nsenter -t 36347 -m -u -i -n -p #通过容器的PID连接运行中的容器
4>.脚本方式连接容器
[root@docker201.yinzhengjie.org.cn ~]# cat docker_connect.sh
#!/bin/bash
#
#********************************************************************
#Author: yinzhengjie
#QQ: 1053419035
#Date: 2019-11-25
#FileName: docker_connect.sh
#URL: http://www.cnblogs.com/yinzhengjie
#Description: The test script
#Copyright notice: original works, no reprint! Otherwise, legal liability will be investigated.
#********************************************************************
function docker_connect(){
CONTAINER_NAME=$1
CONTAINER_PID=$(docker container inspect -f "{
{.State.Pid}}" ${CONTAINER_NAME})
nsenter -t ${CONTAINER_PID} -m -u -i -n -p
}
docker_connect $1
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# cat docker_connect.sh
[root@docker201.yinzhengjie.org.cn ~]# ll docker_connect.sh
-rw-r--r--. 1 root root 683 Jan 15 00:38 docker_connect.sh
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# chmod +x docker_connect.sh
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# ll docker_connect.sh
-rwxr-xr-x. 1 root root 683 Jan 15 00:38 docker_connect.sh
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# chmod +x docker_connect.sh
[root@docker201.yinzhengjie.org.cn ~]# docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
73fe91c5c64d nginx "bash" 36 minutes ago Up 36 minutes 80/tcp myNginx
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# ll
total 4
-rwxr-xr-x. 1 root root 683 Jan 15 00:38 docker_connect.sh
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# ./docker_connect.sh myNginx
mesg: ttyname failed: No such device
root@73fe91c5c64d:/#
root@73fe91c5c64d:/# cat /etc/issue
Debian GNU/Linux 10 n l
root@73fe91c5c64d:/#
root@73fe91c5c64d:/# date +%F
2020-01-14
root@73fe91c5c64d:/#
root@73fe91c5c64d:/# exit
logout
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
73fe91c5c64d nginx "bash" 37 minutes ago Up 37 minutes 80/tcp myNginx
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# ./docker_connect.sh myNginx