掌握Docker容器的命脉:外部管理技巧与最佳实践

掌握Docker容器的命脉:外部管理技巧与最佳实践一 拉取tomcat镜像二 宿主机防火墙关闭三 在前台创建容器/运行容器3.1 直接在前台运行容器,并且没有交互式shell(输⼊命令的壳)3.2 容器访问协议/端口3.3 停止容器运行3.4 查看docker正在运行容器3.5 查看docker所有容器3.6 查看正在运行中的容器ID3.7 查看所有的容器ID四 在后台创建容器/运行容器4.1 查看docker正在运行容器4.2 停止容器运行4.3 删除容器4.4 正常关闭所有容器4.5 删除所有容器4.6 关闭/并删除所有容器4.7 强制关闭4.8 强制关闭所有容器4.9 强制关闭/并删除所有容器五 指定端口创建容器/运行容器六 自定义名称创建容器/运行容器七 通过交互和分配终端创建容器/运行容器八 分配 /bin/bash | shell创建容器/运行容器九 容器打开十 容器重启十一 不可以直接删除运行中的容器十二 可以强制删除运行中的容器十三 强制删除所有容器


掌握Docker容器的命脉:外部管理技巧与最佳实践

一 拉取tomcat镜像

[superman@docker ~]$ docker pull tomcat

示例:

[superman@docker ~]$ docker pull tomcat
Using default tag: latest
latest: Pulling from library/tomcat
0e29546d541c: Pull complete
9b829c73b52b: Pull complete
cb5b7ae36172: Pull complete
6494e4811622: Pull complete
668f6fcc5fa5: Pull complete
dc120c3e0290: Pull complete
8f7c0eebb7b1: Pull complete
77b694f83996: Pull complete
0f611256ec3a: Pull complete
4f25def12f23: Pull complete
Digest: sha256:9dee185c3b161cdfede1f5e35e8b56ebc9de88ed3a79526939701f3537a52324
Status: Downloaded newer image for tomcat:latest
docker.io/library/tomcat:latest
[superman@docker ~]$

二 宿主机防火墙关闭

[root@docker ~]# systemctl restart firewalld

注意:

在docker host中⼀旦操作防火墙,建议重启docker进程。否则可能会导致映射出现异常。

示例:

[root@docker ~]# systemctl restart firewalld
[root@docker ~]#

三 在前台创建容器/运行容器

3.1 直接在前台运行容器,并且没有交互式shell(输⼊命令的壳)

[superman@docker ~]$ docker run tomcat:latest

示例:

[superman@docker ~]$ docker run tomcat:latest
NOTE: Picked up JDK_JAVA_OPTIONS:  --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
01-Jun-2024 08:28:22.477 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version name:   Apache Tomcat/10.0.14
01-Jun-2024 08:28:22.479 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built:         Dec 2 2021 22:01:36 UTC
01-Jun-2024 08:28:22.480 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version number: 10.0.14.0
01-Jun-2024 08:28:22.480 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name:               Linux
01-Jun-2024 08:28:22.480 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Version:            3.10.0-957.el7.x86_64
01-Jun-2024 08:28:22.480 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Architecture:         amd64
01-Jun-2024 08:28:22.497 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Java Home:             /usr/local/openjdk-11
01-Jun-2024 08:28:22.497 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Version:           11.0.13+8
01-Jun-2024 08:28:22.497 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor:           Oracle Corporation
01-Jun-2024 08:28:22.497 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE:         /usr/local/tomcat
01-Jun-2024 08:28:22.497 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME:         /usr/local/tomcat
01-Jun-2024 08:28:22.517 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: --add-opens=java.base/java.lang=ALL-UNNAMED
01-Jun-2024 08:28:22.517 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: --add-opens=java.base/java.io=ALL-UNNAMED
01-Jun-2024 08:28:22.517 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: --add-opens=java.base/java.util=ALL-UNNAMED
01-Jun-2024 08:28:22.517 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: --add-opens=java.base/java.util.concurrent=ALL-UNNAMED
01-Jun-2024 08:28:22.517 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
01-Jun-2024 08:28:22.517 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties
01-Jun-2024 08:28:22.517 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
01-Jun-2024 08:28:22.518 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djdk.tls.ephemeralDHKeySize=2048
01-Jun-2024 08:28:22.518 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources
01-Jun-2024 08:28:22.518 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dorg.apache.catalina.security.SecurityListener.UMASK=0027
01-Jun-2024 08:28:22.518 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dignore.endorsed.dirs=
01-Jun-2024 08:28:22.518 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.base=/usr/local/tomcat
01-Jun-2024 08:28:22.518 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.home=/usr/local/tomcat
01-Jun-2024 08:28:22.518 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.io.tmpdir=/usr/local/tomcat/temp
01-Jun-2024 08:28:22.535 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Loaded Apache Tomcat Native library [1.2.31] using APR version [1.7.0].
01-Jun-2024 08:28:22.536 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true], UDS [true].
01-Jun-2024 08:28:22.541 INFO [main] org.apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL successfully initialized [OpenSSL 1.1.1k  25 Mar 2021]
01-Jun-2024 08:28:23.333 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-8080"]
01-Jun-2024 08:28:23.387 INFO [main] org.apache.catalina.startup.Catalina.load Server initialization in [1333] milliseconds
01-Jun-2024 08:28:23.529 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service [Catalina]
01-Jun-2024 08:28:23.529 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet engine: [Apache Tomcat/10.0.14]
01-Jun-2024 08:28:23.546 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]
01-Jun-2024 08:28:23.582 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in [184] milliseconds

3.2 容器访问协议/端口

network I/O HTTP port 8080

01-Jun-2024 08:28:23.333 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-8080"]
...
01-Jun-2024 08:28:23.546 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]

3.3 停止容器运行

[superman@docker ~]$ ctrl + c

示例:

^C01-Jun-2024 08:31:15.745 INFO [Thread-2] org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler ["http-nio-8080"]
01-Jun-2024 08:31:15.751 INFO [Thread-2] org.apache.catalina.core.StandardService.stopInternal Stopping service [Catalina]
01-Jun-2024 08:31:15.756 INFO [Thread-2] org.apache.coyote.AbstractProtocol.stop Stopping ProtocolHandler ["http-nio-8080"]
01-Jun-2024 08:31:15.759 INFO [Thread-2] org.apache.coyote.AbstractProtocol.destroy Destroying ProtocolHandler ["http-nio-8080"]
[superman@docker ~]$

3.4 查看docker正在运行容器

[superman@docker ~]$ docker ps

示例:

[superman@docker ~]$ docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS   PORTS     NAMES
[superman@docker ~]$

3.5 查看docker所有容器

[superman@docker ~]$ docker ps -a 

示例:

[superman@docker ~]$ docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS   PORTS     NAMES
[superman@docker ~]$

3.6 查看正在运行中的容器ID

[superman@docker ~]$ docker ps -q

示例:

[superman@docker ~]$ docker ps -q
[superman@docker ~]$

3.7 查看所有的容器ID

[superman@docker ~]$ docker ps -qa

示例:

[superman@docker ~]$ docker ps -qa
3a85864e84c2
ba8da0ee761b
b762aaefa6c8
3c59d7d7d6f5
[superman@docker ~]$

说明:

docker ps / ps -a输出解释。容器ID                使用的镜像      运行命令     创建时间   状态信息  端口信息(映射) 容器名称CONTAINER ID    IMAGE        COMMAND  CREATED   STATUS     PORTS          NAMES状态 exited 停止/退出 up 正常运行状态

四 在后台创建容器/运行容器

[superman@docker ~]$ docker run [-option参数] -d

说明:

-d 容器在后台运行。

示例:

[superman@docker ~]$ docker run -d tomcat
99051ec24be72ce8a935850227952a21531a8c819a62e06779cee2fd1b2daaf2
[superman@docker ~]$

说明:

99051ec24be72ce8a935850227952a21531a8c819a62e06779cee2fd1b2daaf2为完整的容器ID。

4.1 查看docker正在运行容器

[superman@docker ~]$ docker ps

示例:

[superman@docker ~]$ docker ps
CONTAINER ID   IMAGE     COMMAND             CREATED         STATUS         PORTS     NAMES
99051ec24be7   tomcat    "catalina.sh run"   2 minutes ago   Up 2 minutes   8080/tcp   dazzling_lehmann
[superman@docker ~]$

4.2 停止容器运行

[superman@docker ~]$ docker stop 99051ec24be7

示例:

[superman@docker ~]$ docker stop 99051ec24be7
99051ec24be7
[superman@docker ~]$

4.3 删除容器

[superman@docker ~]$ docker rm 99051ec24be7

示例:

[superman@docker ~]$ docker rm 99051ec24be7
99051ec24be7
[superman@docker ~]$

4.4 正常关闭所有容器

[superman@docker ~]$ docker stop $(docker ps -aq)

示例:

[superman@docker ~]$ docker stop $(docker ps -aq)
3a85864e84c2
ba8da0ee761b
b762aaefa6c8
3c59d7d7d6f5
[superman@docker ~]$

4.5 删除所有容器

[superman@docker ~]$ docker rm $(docker ps -aq)

示例:

[superman@docker ~]$ docker rm $(docker ps -aq)
3a85864e84c2
ba8da0ee761b
b762aaefa6c8
3c59d7d7d6f5
[superman@docker ~]$

4.6 关闭/并删除所有容器

说明:

有启动的2个容器。

[superman@docker ~]$ docker stop $(docker ps -aq) && docker rm $(docker ps -aq)

示例:

[superman@docker ~]$ docker ps 
CONTAINER ID   IMAGE     COMMAND             CREATED         STATUS         PORTS     NAMES
2a0600c011b5   httpd     "httpd-foreground"   13 minutes ago   Up 13 minutes   80/tcp     eager_mestorf
bf1ef0754216   tomcat    "catalina.sh run"    14 minutes ago   Up 14 minutes   8080/tcp   quizzical_napier
[superman@docker ~]$
[superman@docker ~]$ docker stop $(docker ps -aq) && docker rm $(docker ps -aq)
2a0600c011b5
bf1ef0754216
2a0600c011b5
bf1ef0754216
[superman@docker ~]$
[superman@docker ~]$ docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS   PORTS     NAMES
[superman@docker ~]$

4.7 强制关闭

[superman@docker ~]$ docker kill 14e71b20a9f0

示例:

[superman@docker ~]$ docker ps
CONTAINER ID   IMAGE       COMMAND             CREATED         STATUS         PORTS     NAMES
14e71b20a9f0   httpd:2.4   "httpd-foreground"   2 minutes ago   Up 2 minutes   80/tcp     modest_darwin
8bbc83b93fbf   httpd       "httpd-foreground"   5 minutes ago   Up 5 minutes   80/tcp     peaceful_torvalds
85820773c396   tomcat      "catalina.sh run"    5 minutes ago   Up 5 minutes   8080/tcp   friendly_gates
[superman@docker ~]$
[superman@docker ~]$ docker kill 14e71b20a9f0
14e71b20a9f0
[superman@docker ~]$
[superman@docker ~]$ docker ps
CONTAINER ID   IMAGE     COMMAND             CREATED         STATUS         PORTS     NAMES
8bbc83b93fbf   httpd     "httpd-foreground"   6 minutes ago   Up 6 minutes   80/tcp     peaceful_torvalds
85820773c396   tomcat    "catalina.sh run"    6 minutes ago   Up 6 minutes   8080/tcp   friendly_gates
[superman@docker ~]$

4.8 强制关闭所有容器

[superman@docker ~]$ docker kill $(docker ps -aq)

示例:

[superman@docker ~]$ docker ps
CONTAINER ID   IMAGE     COMMAND             CREATED         STATUS         PORTS     NAMES
8bbc83b93fbf   httpd     "httpd-foreground"   6 minutes ago   Up 6 minutes   80/tcp     peaceful_torvalds
85820773c396   tomcat    "catalina.sh run"    6 minutes ago   Up 6 minutes   8080/tcp   friendly_gates
[superman@docker ~]$
[superman@docker ~]$ docker kill $(docker ps -aq)
8bbc83b93fbf
85820773c396
Error response from daemon: Cannot kill container: 14e71b20a9f0: Container 14e71b20a9f04f0a8e95f77f57e4da3a49c63dfcef8875bb22ba82a46da351ff is not running
[superman@docker ~]$
[superman@docker ~]$ docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS   PORTS     NAMES
[superman@docker ~]$

4.9 强制关闭/并删除所有容器

[superman@docker ~]$ docker kill $(docker ps -aq) && docker rm $(docker ps -aq)

示例:

[superman@docker ~]$ docker ps
CONTAINER ID   IMAGE       COMMAND             CREATED         STATUS         PORTS     NAMES
9ca50d2b7601   tomcat      "catalina.sh run"    2 minutes ago   Up 12 seconds   8080/tcp   boring_elion
b5a502e54a58   httpd       "httpd-foreground"   2 minutes ago   Up 12 seconds   80/tcp     brave_knuth
b55b7a1af7ec   httpd:2.4   "httpd-foreground"   2 minutes ago   Up 11 seconds   80/tcp     goofy_ishizaka
14e71b20a9f0   httpd:2.4   "httpd-foreground"   8 minutes ago   Up 11 seconds   80/tcp     modest_darwin
8bbc83b93fbf   httpd       "httpd-foreground"   11 minutes ago   Up 10 seconds   80/tcp     peaceful_torvalds
85820773c396   tomcat      "catalina.sh run"    11 minutes ago   Up 10 seconds   8080/tcp   friendly_gates
[superman@docker ~]$
[superman@docker ~]$ docker kill $(docker ps -aq) && docker rm $(docker ps -aq)    
9ca50d2b7601
b5a502e54a58
b55b7a1af7ec
14e71b20a9f0
8bbc83b93fbf
85820773c396
9ca50d2b7601
b5a502e54a58
b55b7a1af7ec
14e71b20a9f0
8bbc83b93fbf
85820773c396
[superman@docker ~]$

五 指定端口创建容器/运行容器

[superman@docker ~]$ docker run [-option参数] -P/-p

说明:

-P (大写) 宿主机端口随机产生并且进行映射-p(小写) 手工指定端口映射

示例:

[superman@docker ~]$ docker run -d -P tomcat
1c998fe0e825fa124fcb468b118caa1dbb3c21c7ceb322c1ef8e38c12315a6ce
docker: Error response from daemon: driver failed programming external connectivity on endpoint sweet_johnson (427ecae4f880ef401ec58849db254782e40030c5ab75d6e1512a82e5a1b1d491): (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 32777 -j DNAT --to-destination 172.17.0.2:8080 ! -i docker0: iptables: No chain/target/match by that name.
(exit status 1)).
[superman@docker ~]$
[superman@docker ~]$ exit
登出
[root@docker ~]# systemctl restart docker
[root@docker ~]#
[root@docker ~]# su - superman
上一次登录:六 6月  1 17:50:12 CST 2024pts/0 上
[superman@docker ~]$
[superman@docker ~]$ docker rm 1c998fe0e825
1c998fe0e825
[superman@docker ~]$
[superman@docker ~]$ docker run -d -P tomcat
982a717142065c09545cf2744de10d51cfc13efb5bbff7e2077b0f9d731e55c1
[superman@docker ~]$
[superman@docker ~]$ docker ps
CONTAINER ID   IMAGE     COMMAND             CREATED         STATUS         PORTS                                         NAMES
982a71714206   tomcat    "catalina.sh run"   18 seconds ago   Up 17 seconds   0.0.0.0:32768->8080/tcp, :::32768->8080/tcp   charming_buck
[superman@docker ~]$

说明:

host container0.0.0.0:32768->8080/tcp,ipv4端口映射:::32768->8080/tcp,ipv6端口映射

宿主机端口- 容器端口-p 10001:8080 #默认情况下是/tcp映射

-p 10001:8080/tcp #手工指定TCP映射-p 10001:8080/udp #手工指定UDP映射

-p 10001:8080 -p 10002:8081 # 多端⼝映射

[superman@docker ~]$ docker run -d -p 10001:8080 tomcat

示例:

[superman@docker ~]$ docker run -d -p 10001:8080 tomcat
767b774981bb665d57584e2edbe736334732f03dc10f8b5157b64f3c6e28accb
[superman@docker ~]$
[superman@docker ~]$ docker ps -a
CONTAINER ID   IMAGE     COMMAND             CREATED         STATUS         PORTS                                         NAMES
767b774981bb   tomcat    "catalina.sh run"   6 seconds ago   Up 6 seconds    0.0.0.0:10001->8080/tcp, :::10001->8080/tcp   jovial_pascal
982a71714206   tomcat    "catalina.sh run"   47 minutes ago   Up 47 minutes   0.0.0.0:32768->8080/tcp, :::32768->8080/tcp   charming_buck
[superman@docker ~]$

注意:

  1. 通过同⼀个镜像创建的所有容器服务端口是相同的

  2. 不允许将宿主机的⼀个端口映射到不同的容器

[superman@docker ~]$ docker run -d -p 10002:8080/tcp tomcat
[superman@docker ~]$ docker run -d -p 10002:8080/tcp tomcat

示例:

[superman@docker ~]$ docker run -d -p 10002:8080/tcp tomcat
091f08bade92ad725a651b8fd4b2443681db21df952c2e54ca6fed4917102b46
[superman@docker ~]$
[superman@docker ~]$ docker run -d -p 10002:8080/tcp tomcat
90dbf38216e7fb110214e9402fe60224276bddf43c1be897ccead6b18bbbdd5d
docker: Error response from daemon: driver failed programming external connectivity on endpoint fervent_bassi (74c3b103441919da73feefa8cc3d880ed054414f94859860d05715f0490438a1): Bind for 0.0.0.0:10002 failed: port is already allocated.
[superman@docker ~]$

六 自定义名称创建容器/运行容器

[superman@docker ~]$ docker run [-option参数] --name

说明:

--name : ⾃定义名称

[superman@docker ~]$ docker run -d -p 10003:8080 --name tomcat_01 tomcat:latest

示例:

[superman@docker ~]$ docker run -d -p 10003:8080 --name tomcat_01 tomcat:latest
87ccce7cec9b6768dfd5d5852ff4dbb59e777b4a9791440d5affaf7e3f6d894c
[superman@docker ~]$
[superman@docker ~]$ docker ps
CONTAINER ID   IMAGE           COMMAND             CREATED         STATUS         PORTS                                         NAMES
87ccce7cec9b   tomcat:latest   "catalina.sh run"   13 seconds ago   Up 12 seconds   0.0.0.0:10003->8080/tcp, :::10003->8080/tcp   tomcat_01
091f08bade92   tomcat          "catalina.sh run"   7 minutes ago   Up 7 minutes    0.0.0.0:10002->8080/tcp, :::10002->8080/tcp   objective_cartwright
767b774981bb   tomcat          "catalina.sh run"   10 minutes ago   Up 10 minutes   0.0.0.0:10001->8080/tcp, :::10001->8080/tcp   jovial_pascal
982a71714206   tomcat          "catalina.sh run"   57 minutes ago   Up 57 minutes   0.0.0.0:32768->8080/tcp, :::32768->8080/tcp   charming_buck
[superman@docker ~]$

七 通过交互和分配终端创建容器/运行容器

[superman@docker ~]$ docker run [-option参数] -i/-t (配合在⼀起使用)

说明:

-i : 可以和容器进⾏交互式运⾏-t :可以分配终端(可以和⽤户进⾏链接)| shell

[superman@docker ~]$ docker run -it -p 10004:8080 --name tomcat_02 tomcat:latest

示例:

[superman@docker ~]$ docker run -it -p 10004:8080 --name tomcat_02 tomcat:latest
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:       /usr/local/openjdk-11
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:  
NOTE: Picked up JDK_JAVA_OPTIONS:  --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
01-Jun-2024 11:00:21.537 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version name:   Apache Tomcat/10.0.14
01-Jun-2024 11:00:21.539 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built:         Dec 2 2021 22:01:36 UTC
01-Jun-2024 11:00:21.540 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version number: 10.0.14.0
01-Jun-2024 11:00:21.540 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name:               Linux
01-Jun-2024 11:00:21.540 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Version:            3.10.0-957.el7.x86_64
01-Jun-2024 11:00:21.540 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Architecture:         amd64
01-Jun-2024 11:00:21.540 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Java Home:             /usr/local/openjdk-11
01-Jun-2024 11:00:21.540 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Version:           11.0.13+8
01-Jun-2024 11:00:21.560 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor:           Oracle Corporation
01-Jun-2024 11:00:21.560 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE:         /usr/local/tomcat
01-Jun-2024 11:00:21.560 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME:         /usr/local/tomcat
01-Jun-2024 11:00:21.591 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: --add-opens=java.base/java.lang=ALL-UNNAMED
01-Jun-2024 11:00:21.591 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: --add-opens=java.base/java.io=ALL-UNNAMED
01-Jun-2024 11:00:21.591 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: --add-opens=java.base/java.util=ALL-UNNAMED
01-Jun-2024 11:00:21.592 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: --add-opens=java.base/java.util.concurrent=ALL-UNNAMED
01-Jun-2024 11:00:21.592 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
01-Jun-2024 11:00:21.592 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties
01-Jun-2024 11:00:21.592 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
01-Jun-2024 11:00:21.592 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djdk.tls.ephemeralDHKeySize=2048
01-Jun-2024 11:00:21.592 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources
01-Jun-2024 11:00:21.592 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dorg.apache.catalina.security.SecurityListener.UMASK=0027
01-Jun-2024 11:00:21.592 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dignore.endorsed.dirs=
01-Jun-2024 11:00:21.592 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.base=/usr/local/tomcat
01-Jun-2024 11:00:21.592 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.home=/usr/local/tomcat
01-Jun-2024 11:00:21.592 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.io.tmpdir=/usr/local/tomcat/temp
01-Jun-2024 11:00:21.600 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Loaded Apache Tomcat Native library [1.2.31] using APR version [1.7.0].
01-Jun-2024 11:00:21.600 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true], UDS [true].
01-Jun-2024 11:00:21.615 INFO [main] org.apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL successfully initialized [OpenSSL 1.1.1k  25 Mar 2021]
01-Jun-2024 11:00:22.428 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-8080"]
01-Jun-2024 11:00:22.502 INFO [main] org.apache.catalina.startup.Catalina.load Server initialization in [1429] milliseconds
01-Jun-2024 11:00:22.643 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service [Catalina]
01-Jun-2024 11:00:22.643 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet engine: [Apache Tomcat/10.0.14]
01-Jun-2024 11:00:22.674 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]
01-Jun-2024 11:00:22.705 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in [202] milliseconds

八 分配 /bin/bash | shell创建容器/运行容器

[superman@docker ~]$ docker run -it -p 10005:8080 --name tomcat_cm03 tomcat:latest /bin/bash

示例:

[superman@docker ~]$ docker run -it -p 10005:8080 --name tomcat_cm03 tomcat:latest /bin/bash
root@763e7645e1b0:/usr/local/tomcat#

进入容器中|和容器进行交互运行

九 容器打开

[superman@docker ~]$ docker start 763e7645e1b0

示例:

[superman@docker ~]$ docker ps -a
CONTAINER ID   IMAGE           COMMAND             CREATED             STATUS                       PORTS                                         NAMES
763e7645e1b0   tomcat:latest   "/bin/bash"         48 seconds ago     Exited (0) 4 seconds ago                                                   tomcat_cm03
e6cfd2411de1   tomcat:latest   "catalina.sh run"   3 minutes ago       Exited (130) 51 seconds ago                                                 tomcat_02
87ccce7cec9b   tomcat:latest   "catalina.sh run"   8 minutes ago       Up 8 minutes                  0.0.0.0:10003->8080/tcp, :::10003->8080/tcp   tomcat_01
90dbf38216e7   tomcat          "catalina.sh run"   16 minutes ago     Created                                                                     fervent_bassi
091f08bade92   tomcat          "catalina.sh run"   16 minutes ago     Up 16 minutes                 0.0.0.0:10002->8080/tcp, :::10002->8080/tcp   objective_cartwright
767b774981bb   tomcat          "catalina.sh run"   18 minutes ago     Up 18 minutes                 0.0.0.0:10001->8080/tcp, :::10001->8080/tcp   jovial_pascal
982a71714206   tomcat          "catalina.sh run"   About an hour ago   Up About an hour              0.0.0.0:32768->8080/tcp, :::32768->8080/tcp   charming_buck
[superman@docker ~]$
[superman@docker ~]$
[superman@docker ~]$ docker start 763e7645e1b0
763e7645e1b0
[superman@docker ~]$

十 容器重启

[superman@docker ~]$ docker restart 763e7645e1b0

示例:

[superman@docker ~]$ docker ps -a
CONTAINER ID   IMAGE           COMMAND             CREATED             STATUS                       PORTS                                         NAMES
763e7645e1b0   tomcat:latest   "/bin/bash"         About a minute ago   Up 43 seconds                0.0.0.0:10005->8080/tcp, :::10005->8080/tcp   tomcat_cm03
e6cfd2411de1   tomcat:latest   "catalina.sh run"   4 minutes ago       Exited (130) 2 minutes ago                                                 tomcat_02
87ccce7cec9b   tomcat:latest   "catalina.sh run"   9 minutes ago       Up 9 minutes                 0.0.0.0:10003->8080/tcp, :::10003->8080/tcp   tomcat_01
90dbf38216e7   tomcat          "catalina.sh run"   17 minutes ago       Created                                                                   fervent_bassi
091f08bade92   tomcat          "catalina.sh run"   17 minutes ago       Up 17 minutes                0.0.0.0:10002->8080/tcp, :::10002->8080/tcp   objective_cartwright
767b774981bb   tomcat          "catalina.sh run"   19 minutes ago       Up 19 minutes                0.0.0.0:10001->8080/tcp, :::10001->8080/tcp   jovial_pascal
982a71714206   tomcat          "catalina.sh run"   About an hour ago   Up About an hour             0.0.0.0:32768->8080/tcp, :::32768->8080/tcp   charming_buck
[superman@docker ~]$
[superman@docker ~]$ docker restart e6cfd2411de1
e6cfd2411de1
[superman@docker ~]$
[superman@docker ~]$ docker ps -a
CONTAINER ID   IMAGE           COMMAND             CREATED             STATUS             PORTS                                         NAMES
763e7645e1b0   tomcat:latest   "/bin/bash"         2 minutes ago       Up About a minute   0.0.0.0:10005->8080/tcp, :::10005->8080/tcp   tomcat_cm03
e6cfd2411de1   tomcat:latest   "catalina.sh run"   4 minutes ago       Up 3 seconds        0.0.0.0:10004->8080/tcp, :::10004->8080/tcp   tomcat_02
87ccce7cec9b   tomcat:latest   "catalina.sh run"   10 minutes ago     Up 10 minutes       0.0.0.0:10003->8080/tcp, :::10003->8080/tcp   tomcat_01
90dbf38216e7   tomcat          "catalina.sh run"   17 minutes ago     Created                                                           fervent_bassi
091f08bade92   tomcat          "catalina.sh run"   17 minutes ago     Up 17 minutes       0.0.0.0:10002->8080/tcp, :::10002->8080/tcp   objective_cartwright
767b774981bb   tomcat          "catalina.sh run"   19 minutes ago     Up 19 minutes       0.0.0.0:10001->8080/tcp, :::10001->8080/tcp   jovial_pascal
982a71714206   tomcat          "catalina.sh run"   About an hour ago   Up About an hour    0.0.0.0:32768->8080/tcp, :::32768->8080/tcp   charming_buck
[superman@docker ~]$

十一 不可以直接删除运行中的容器

[superman@docker ~]$ docker rm 763e7645e1b0

示例:

[superman@docker ~]$ docker rm 763e7645e1b0
Error response from daemon: You cannot remove a running container 763e7645e1b05fd19695a27f996b3614971454e722f5d8d7a4bf1cd714cc5625. Stop the container before attempting removal or force remove
[superman@docker ~]$

十二 可以强制删除运行中的容器

[superman@docker ~]$ docker rm -f 763e7645e1b0

示例:

[superman@docker ~]$ docker rm -f 763e7645e1b0
763e7645e1b0
[superman@docker ~]$

十三 强制删除所有容器

[superman@docker ~]$ docker rm -f $(docker ps -aq)

示例:

[superman@docker ~]$ docker rm -f $(docker ps -aq)
e6cfd2411de1
87ccce7cec9b
90dbf38216e7
091f08bade92
767b774981bb
982a71714206
[superman@docker ~]$



? 点赞,你的认可是我创作的动力!

⭐️ 收藏,你的青睐是我努力的方向!

✏️ 评论,你的意见是我进步的财富!


PS:因为公众号平台更改了推送规则,如果不想错过内容,记得读完点一下“在看”,加个“星标”,这样每次新文章推送才会第一时间出现在你的订阅列表里。点“在看”支持我吧!




请使用浏览器的分享功能分享到微信等