Docker(33) |
您所在的位置:网站首页 › 如何换端口 › Docker(33) |
如果你还想从头学起 Docker,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1870863.html 问题背景 docker run -d -p 9999:8080 -i --name tomcat7 tomcat:7 创建容器时,指定了端口映射(-p) 如果容器运行之后发现端口需要改怎么办? 当前是访问 9999 端口 删除原有容器,重新创建新的容器 删除容器 docker rm -f 容器ID/名字 重新创建容器 docker run -d -p 8888:8080 -i --name tomcat7 tomcat:7 重新指定需要映射的端口 优点 简单粗暴,在测试环境用的更多 缺点 如果是数据库、服务器相关的容器,创建新的容器,又得重新配置相关东西了 修改容器配置文件(重点) 暂停 Docker 服务 systemctl stop docker 进入 Docker 容器配置文件目录下 cd /var/lib/docker/containers/ls 进入某个容器的配置文件目录下 容器ID 就是文件夹名称,可通过 docker ps -aq 来查看,不过这是缩写,对照起来看就行 cd c614b6db4aed0c8d0c742baa09ff4e2c24761703586460b68633d7b66e62c633ls修改 hostconfig.json vim hostconfig.json 重新启动 Docker 服务 systemctl stop dockerdocker start tomcat7docker ps 访问 8888 端口没问题! 注意 如果想修改 Docker 容器随着 Docker 服务启动而自启动,可看:https://www.cnblogs.com/poloyy/p/13985567.html 有些文章会写到还需要改 config.v2.json 里的端口,但实操了一遍并不需要 优点 直接操作配置文件没有副作用,算简单 缺点 需要暂停 Docker 服务,会影响其他正常运行的 Docker 容器 使用 docker commit 命令 停止 Docker 容器 docker stop tomcat7 使用 commit 构建新镜像 docker commit tomcat7 new_tomcat7docker images 使用新镜像重新创建一个 Docker 容器 docker run -d -p 8888:8080 -i --name tomcat77 new_tomcat7 docker ps 修改新容器的名字 如果新容器想用回旧容器的名字,需要先删了旧容器,再改名 docker rm -f tomcat7 docker rename tomcat77 tomcat7 docker ps优点 无需停止 Docker 服务,不影响其他正在运行的容器 旧容器有的配置和数据,新容器也会有,不会造成数据或配置丢失,对新旧容器都没有任何影响 缺点 需要生成新的镜像和容器,管理镜像和容器的时间成本会上升 修改主机 iptables 端口映射 网上很多文章都有这个方法,但是我实操了一遍是不行的,不知道是不是步骤错了,哪位大佬知道可否说一声捏
|
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |