临夏州住房和城乡建设厅网站,龙华区民治街道城市更新,阿里云做视频网站,深圳网站优化方式Docker容器高级操作
Docker容器创建、停止、启动、删除等基础操作上篇已述,然Docker容器被广大开发者青睐,不可能只有如此简单的功能,必有高阶功法。那么接下来 让我们一同走进容器操作的高级篇,领略其高级操作的魅力。
查看容器 docker ps -a | grep tomcat [root@tudou…Docker容器高级操作
Docker容器创建、停止、启动、删除等基础操作上篇已述,然Docker容器被广大开发者青睐,不可能只有如此简单的功能,必有高阶功法。那么接下来 让我们一同走进容器操作的高级篇,领略其高级操作的魅力。
查看容器 docker ps -a | grep tomcat [root@tudou tudou]# docker ps -a | grep tomcat
e3a88ea4ffb9 tomcat:8.0 "catalina.sh run" 13 seconds ago Up 12 seconds 8080/tcp tudou-tomcat
[root@tudou tudou]# 可以看到有 8080/tcp 但是却无法访问到tomcat的主界面??? 原因 : 这里是容器的端口,并不是宿主机的端口,需要映射到宿主机方可访问。
端口映射
docker run -d -p 8080:8080/tcp–name tudou-tomcat tomcat:8.0
-p:端口映射操作8080:8080/tcp:宿主机端口:容器端口/协议。(协议可不 8080:8080,默认为 tcp)-P(大写):在宿主机上随机为应用分配一个49000~49900内未被使用的端口,并映射到容器开放的网络端口。注意:通常采用-p进行指定端口映射,多个则是多个-p
[root@tudou tudou]# docker rm -f tudou-tomcat
tudou-tomcat
[root@tudou tudou]# docker run -d -p 8080:8080/tcp --name tudou-tomcat tomcat:8.0
5bc5b04a6f5aacbd8b1b822527ccb78357071a98c90bfdd56c87bfa2709cdfea
[root@tudou tudou]# docker ps -a | grep tomcat
bbc579ce6fec tomcat:8.0 "catalina.sh run" 6 seconds ago Up 5 seconds 0.0.0.0:8080-8080/tcp tudou-tomcat
[root@tudou tudou]#发现容器端口映射变成了 0.0.0.0:8080-8080/tcp, 这就意味着容器的 8080 已经映射到宿主机的 8080
[root@tudou tudou]# netstat -ano| grep 8080
tcp6 0 0 :::8080 :::* LISTEN off (0.00/0/0) 经检查发现。宿主机的 8080 端口处于监听状态,那么此时即可访问 Tomcat首页 了 查看端口
docker port idOrName
port:查看端口操作。idOrName : 容器名称或者容器ID。[root@tudou tudou]# docker port tudou-tomcat
8080/tcp - 0.0.0.0:8080
# 容器端口 - 宿主机端口查看进程
docker top idOrName
top:查看进程操作。idOrName: 容器名称或者容器ID。[root@tudou tudou]# docker top tudou-tomcat
UID PID PPID C STIME TTY TIME CMD
root 15837 15820 0 12:17 ? 00:00:03 /docker-java-home/jre/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dignore.endorsed.dirs= -classpath /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.startup.Bootstrap start可以清楚看到,容器内跑的进程详细信息 用户 进程ID 执行命令 等等。
文件挂载 (可用来动态修改容器内文件内容立即生效)
docker run -d -p 8080:8080/tcp -v /home/tudou/tudou:/usr/local/tomcat/webapps/ --name tudou-tomcat tomcat:8.0
-v:容器挂载卷:-v 主机目录:容器目录(将宿朱继文件或者目录挂载到容器内)注意:1. 容器目录不可以为相对路径2. 宿主机目录如果不存在,则会自动生成# 创建/home/tudou/tudou
[root@tudou tudou]# pwd
/home/tudou/tudou
# 再创建tudou,之下创建index.html
[root@tudou tudou]# cat tudou/index.html
html
head
titleindex/title
/head
body style="text-align:center"