zoukankan      html  css  js  c++  java
  • Docker容器操作基础命令

                  Docker容器操作基础命令

                                         作者:尹正杰

    版权声明:原创作品,谢绝转载!否则将追究法律责任。

    一.从镜像启动一个容器

    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 
     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 
     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 
     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

     

  • 相关阅读:
    获得树形json串
    淘宝分布式 key/value 存储引擎Tair安装部署过程及Javaclient測试一例
    ARC下dealloc过程及.cxx_destruct的探究
    连类比事-category和extension
    category和关联对象
    静态构造函数c# 静态块java initallize oc
    + (void)initialize vs 静态构造方法
    Servlet中文乱码原因 解决 Get 和 Post 和客户端
    double int 类型的区别
    待解决问题 oc
  • 原文地址:https://www.cnblogs.com/yinzhengjie/p/12189729.html
Copyright © 2011-2022 走看看