ITPub博客

首页 > 云计算 > Docker/K8 > 05 掌握Docker容器的命脉:外部管理技巧与最佳实践

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

原创 Docker/K8 作者:shuchaoyang 时间:2024-11-03 17:20:40 0 删除 编辑

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

05 掌握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

image-20240514181416793 注意:

在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 ~] $

img 说明:

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

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

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

img 说明:

-d 容器在后台运行。

示例:

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

99051ec24be72ce8a935850227952a21531a8c819a62e06779cee2fd1b2daaf2
[superman@docker ~] $

img 说明:

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 关闭/并删除所有容器

img 说明:

有启动的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

img 说明:

-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 ~] $

img 说明:

host container 0.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 ~] $

image-20240514181416793 注意:

  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

img 说明:

--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 (配合在⼀起使用)

img 说明:

-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 ~] $

原文链接: https://mp.weixin.qq.com/s?__biz=MzkxNzI1OTE3Mw==&mid=2247492115&idx=1&sn=2904a9a8a90922e4d3230ad211bef682&chksm=c141f4d9f6367dcf0024ede46a3f501fc1c398260343426ee17f3f6a0d7ba52f509a7bd0d8bd#rd

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

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

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

图片

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/291614/viewspace-3045026/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
专注于IT系统集成、运维、架构二十年的IT职场老兵,拥有CCNA、OCA、OCP、PGCA、PGCE认证证书,公众号:超哥的IT私房菜,知识星球:超哥的IT私房菜,目前是多家IT厂商的咨询顾问。

注册时间:2021-08-27

  • 博文量
    552
  • 访问量
    303478