您当前的位置: 首页 > 慢生活 > 程序人生 网站首页程序人生
17_尚硅谷_Docker_镜像commit
发布时间:2022-11-06 16:33:58编辑:雪饮阅读()
运行tomcat容器
-p左边端口指定向外暴漏的端口,右边的端口则对应这个暴漏的端口于所运行容器内部的端口
注意:如果宿主机有运行了systemctl stop firewalld,则需要systemctl start firewalld
[root@DESKTOP-7ONFN16 ~]# docker run -it -p 8081:8080 tomcat
此时访问如:
会出现404
运行tomcat容器(随机分配端口映射)
上面我们使用-p参数分配了端口映射,那么也可以用-P由系统来分配端口映射
docker run -it -P tomcat
然后可以在docker ps里面查看到自动分配的端口映射
[root@DESKTOP-7ONFN16 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
af78aaa782f3 tomcat "catalina.sh run" About a minute ago Up About a minute 0.0.0.0:49153->8080/tcp, :::49153->8080/tcp crazy_morse
这里同样是404不可访问。
处理tomcat容器404问题(容器提交)
由于上面两种运行方式都是交互运行,所以这里另外开一个会话
进入容器
[root@DESKTOP-7ONFN16 ~]# docker exec -it af78aaa782f3 /bin/bash
创建默认页面
root@af78aaa782f3:/usr/local/tomcat# touch webapps/ROOT/index.html
root@af78aaa782f3:/usr/local/tomcat# chmod -R 777 webapps
root@af78aaa782f3:/usr/local/tomcat# echo "index" > webapps/ROOT/index.html
此时访问如:http://192.168.8.112:49153/
已经不是404了。
然后再开一个会话提交修改后的容器为一个新的镜像(本地提交)
[root@DESKTOP-7ONFN16 ~]# docker commit -a="author001" -m="this is first commit" af78aaa782f3 namespace001/tomcat_add_index:1.2
sha256:d7b47ddd561d621fb4403eb4a53c09aa161fac865cfc2683019784541f964420
然后停止了本地所有容器后也删除了本地所有容器后,然后用刚才提交的这个镜像来运行
[root@DESKTOP-7ONFN16 ~]# docker run -it -P namespace001/tomcat_add_index:1.2
然后这次访问如http://192.168.8.112:49154/
同样不会遇到404问题。
以守护进程运行tomcat容器
刚才以交互运行时候发现里面有不断的输出,也就是昨天了解到的只要容器里面一直有事情做,则后台运行该容器,该容器就不会自动停止的。
[root@DESKTOP-7ONFN16 ~]# docker run -it -P -d namespace001/tomcat_add_index:1.2
6620e0ce7479afda4e9d75a5e7dbce24d743865695d9095f02e3e1fc7c67add0
然后这样则访问如:http://192.168.8.112:49155/
也不会出现404问题了。
关键字词:docker,镜像,commit