docker 改host_Docker容器修改端口映射
对于已经建立的docker容器,需要新增容器对主机的端口映射,主要分为三种:
一:通过修改配置文件修改docker容器端口映射
1.使用docker ps -a命令找到要修改容器的CONTAINER ID
2.运行以下命令,进入该容器目录
docker inspect【CONTAINER ID】| grep Id
cd /var/lib/docker/containers
2.停止容器
docker stop [容器id]
3.停止主机docker服务
systemctl stop docker
4.进入2得到的文件夹内,修改hostconfig.json 和 config.v2.json
vi hostconfig.json
比如新增一个 80 端口,在PortBindings下边添加以下内容,端口配置之间用英文字符逗号隔开
"80/tcp": [
{
"HostIp": "0.0.0.0",
"HostPort": "80"
}
]
接着修改vi config.v2.json, 找到ExposedPorts和Ports 仿照之前内容添加端口映射
"ExposedPorts": {
"2000/tcp": {}
},
"Ports":{
"2000/tcp":[
{
"HostIp": "0.0.0.0",
"HostPort": "2000"
}
]
},
5.保存之后重启docker服务和容器
systemctl start docker
docker start [docker id]
二:把运行中的容器生成新的镜像,再新建容器
1.提交一个运行中的容器为镜像
docker commit [containerid] [new_imagename]
2.运行新建的镜像并添加端口映射
docker run -d -p 8000:80 [imagename] /bin/sh
三:修改主机iptables端口映射docker的端口映射并不是在docker技术中实现的,而是通过宿主机的iptables来实现。通过控制网桥来做端口映射,类似路由器中设置路由端口映射。
如果我们有一个容器的8000端口映射到主机的9000端口,先查看iptabes设置了什么规则:
sudo iptables -t nat -vnL
结果中有一条:
Chain DOCKER (2 references)
pkts bytes target prot opt in out source destination
98 5872 RETURN all -- docker0 * 0.0.0.0/0 0.0.0.0/0
237 14316 DNAT tcp -- !docker0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:9000 to:172.17.0.3:8000
我们可以看到docker创建了一个名为DOKCER的自定义的链条Chain。而我开放8000端口的容器的ip是172.17.0.3。
也可以通过inspect命令查看容器ip
docker inspect [containerId] |grep IPAddress
我们想再增加一个端口映射,比如8081->81,就在这个链条是再加一条规则:
sudo iptables -t nat -A DOCKER -p tcp --dport 8081 -j DNAT --to-destination 172.17.0.3:81
加错了或者想修改:先显示行号查看
sudo iptables -t nat -vnL DOCKER --line-number
删除规则3
sudo iptables -t nat -D DOCKER 3
docker 改host_Docker容器修改端口映射相关推荐
- Docker容器修改端口映射
Docker容器修改端口映射 https://zhuanlan.zhihu.com/p/94949253 对于已经建立的docker容器,需要新增容器对主机的端口映射,主要分为三种: 一:通过修改配置 ...
- win10 docker 容器修改端口映射
通常容器生成后是无法通过docker界面或docker命令去修改端口映射的,以下是通过修改配置文件的方式实现: 第一步:在powershell执行以下命令找到容器hash值 docker inspec ...
- docker 添加端口映射_Docker容器修改端口映射
对于已经建立的docker容器,需要新增容器对主机的端口映射,主要分为三种: 一:通过修改配置文件修改docker容器端口映射 1.使用docker ps -a命令找到要修改容器的CONTAINER ...
- docker 文件存放路径, 修改端口映射
文章目录 如何获取容器的启动命令 1, 容器层:文件存放路径 后天修改容器端口 a, 先提交旧容器为新的镜像,再启动新容器 b, 修改容器配置文件置文件:hostconfig.json 2, 镜像层: ...
- docker容器增加端口映射最佳实践(修改配置文件方式)
前言: 在日常的docker运维中,经常遇到这样一个问题:已经配置好且运行的docker容器要根据业务需要增加端口映射到宿主机,如何简单有效的解决呢? 下面以mysql容器为例,详细说明操作步骤. 一 ...
- 【docker】修改docker容器配置,设置/修改端口映射
目录 前言 方法1:将容器转换成镜像,用新的镜像创建新的容器 方法2:修改容器配置 方法3:创建新的容器 方法4:nginx stream代理 参考 前言 docker 创建容器时可指定端口映射.但容 ...
- Docker添加或者更改容器的端口映射
QUESTION:Docker添加或者更改容器的端口映射? ANSWER: 初学Docker容器,按照教程的基本命令,拉取创建了几个容器,都是在一开始新建的时候 docker run -p 指定对应 ...
- 解决Windows下无法对docker容器进行端口映射的问题
解决Windows下无法对docker容器进行端口映射的问题 在安装了一个Windows下安装了docker,并尝试在其中运行Nginx服务,但映射完毕之后,在主机的浏览器中,打开localhost: ...
- 解决docker容器开启端口映射后,会自动在防火墙上打开端口的问题
解决docker容器开启端口映射后,会自动在防火墙上打开端口的问题 参考文章: (1)解决docker容器开启端口映射后,会自动在防火墙上打开端口的问题 (2)https://www.cnblogs. ...
最新文章
- linux(6/17)--文件打包上传和下载
- 解决apache配置问题小结
- 北京科技大学转专业到计算机,北科大学生全可转专业
- ubuntu 图形化更换apt源
- 骂骂咧咧的 fastreport 数据隔行换色
- 使用PyTorch训练图像分类器
- 状态机-重叠序列检测
- 使用Gradle – 2019版从Travis可靠发布到Maven Central
- 产品认知:产品经理进入新公司第一件事该做什么?
- js中的substr和substring
- Android开发之在不同API上遇见的坑
- Es6 类class的关键 super、static、constructor、new.target
- 使用MisakaPatcher制作Galgame外挂汉化补丁
- 自动无刷电机和螺旋桨测试-如何测试无人机的动力系统?
- Mybatis学习之路——看这一篇文章,深刻学会Mybatis
- 给想进投行的学弟学妹的忠告和建议
- web前端之HTML5 入门(9):脚本、速查列表、URL、字符实体
- ECCV 2022 | 基于去遮挡和移除的3D交互双手姿态估计
- vue项目在ie浏览器下运行显示空白页面
- 英特尔45nm生产良率已达90%
热门文章
- 数组方法中会更改原数组,不会更改原数组(详细)
- MonkeyRunner_MonkeyRunner,MonkeyDevice,MonkeyImage可以调用的方法
- Android开发指南
- 《Python编程:从入门到实践》 练习 9-4 9-5
- Android 实现涂鸦笔效果
- 结对开发——求二维环形数组所有子矩阵最大和的问题
- 永磁同步电机的标么值系统
- oracle批量清除会话,oracle快速彻底杀掉session
- oracle批量清除会话,oracle快速彻底清理kill会话
- 电子邮件地址怎么写,国内电子邮件服务商有哪些,怎么申请注册邮件地址大全账号?