Docker 更改容器映射端口
1、编辑容器的配置文件进行更改端口;
docker run 运行启动时 -p 可以指定容器启动映射端口 (0.0.0.0: )
可以编辑配置文件 进行修改;(需要重启docker 服务 不止是是容器 才能生效。只能重启容器还是会覆盖的)
2、查找需要更改端口的容器
docker ps

3、根据 CONTAINER ID 查找 docker 配置文件; (容器文件配置默认 /var/lib/docker/containers)
因为我更改了 docker 默认存储位置。(docker info 可以查看docker信息)
4、更改 docker 默认环境变量 默认配置 是 /var/lib/docker
在 docker 启动文件添加默认环境系统配置 " /etc/default/docker ":
添加 Environment File 配置:
# vi /usr/lib/systemd/system/docker.service
在 [Serivce] 下添加
EnvironmentFile=-/etc/default/docker #添加配置文件 在 [Install] 下添加
EnvironmentFile=-/etc/default/docker
5、停止容器
docker stop [ID/name]
6、停止 docker 服务
systemctl stop docker
7、编辑 更改 容器的 配置文件 hostconfig.json
config.v2.json 是容器启动才会看到映射地址的、所以不必操作。
/data/docker/containers/0731470143a94579b837b295f4c03a5f283e2bc1b0be746e7da451b9eb817120/hostconfig.json 容器配置命名就是 以 CONTAINER ID 容器ID开头的
8、查看编辑 hostconfig.json 文件;
jq . ./hostconfig.json
# jq 查看json 格式文件
# 更改 HostPort 就是映射的宿主机端口。

9、启动 docker 服务 启动容器
docker start [ID/NAME] systemctl start docker docker ps 查看看到更该了;
10、容器启动、iptables 这个会自动加入的;直接 server iptables save 保存就好了。或者不放心可以直接添加端口 :
宿主机添加端口:
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport -j ACCEPT
宿主机 nat 映射:
iptables -A DOCKER ! -i docker0 -p tcp -m tcp --dport -j DNAT --to-destination 172.16.4.3:
注:
docker 在操作或者添加容器时候 先 service iptables save 然后再编辑添加重启。
添加容器默认会添加映射到防火墙的,但是重启iptables 就会失效、所以要先保存再重启。
Docker 更改容器映射端口的更多相关文章
- DocKer 创建容器 镜像端口映射失败
问题一: 我想使用同一个镜像创建多个容器,并映射端口出现以下错误,该怎么解决? docker: Error response from daemon: driver failed programmin ...
- 解决CentOS7 docker容器映射端口只监听ipv6的问题
问题现象 docker容器起来以后,查看9100端口监听情况,如下图: $ ss -lntp State Recv-Q Send-Q Local Address:Port Peer Address:P ...
- Docker 查看容器映射路径
使用以下命令:container_name 是容器的名字,也可以写容器的ID. docker inspect container_name | grep Mounts -A 20 docker ins ...
- docker上部署nginx容器80端口自动转443端口
拉去nginx镜像 # docker pull nginx 运行nginx容器config用于拷贝nginx配置文件 # docker run --name nginxconfig -d docker ...
- 解决docker容器开启端口映射后,会自动在防火墙上打开端口的问题
在docker中运行第三方服务时,通常需要绑定服务端口到本地主机.但使用 -p 参数进行的端口映射,会自动在iptables中建立规则,绕过firewalld,这对于端口级的黑白名单控制管理是很不利的 ...
- 如何修改运行中的docker容器的端口映射和挂载目录
在docker run创建并运行容器的时候,可以通过-p指定端口映射规则.但是,我们经常会遇到刚开始忘记设置端口映射或者设置错了需要修改.当docker start运行容器后并没有提供一个-p选项或设 ...
- 教你如何修改运行中的docker容器的端口映射
在docker run创建并运行容器的时候,可以通过-p指定端口映射规则.但是,我们经常会遇到刚开始忘记设置端口映射或者设置错了需要修改.当docker start运行容器后并没有提供一个-p选项或设 ...
- 修改docker容器的端口映射
大家都知道docker run可以指定端口映射,但是容器一旦生成,就没有一个命令可以直接修改.通常间接的办法是,保存镜像,再创建一个新的容器,在创建时指定新的端口映射. 有没有办法不保存镜像而直接修改 ...
- 解决Windows10下无法对docker容器进行端口访问(端口映射的问题)
解决Windows10下无法对docker容器进行端口访问(端口映射的问题) 问题详情 在Windows10系统服务器中安装了docker和docker-compose 并尝试在其中运行Nginx服务 ...
随机推荐
- Python数组操作将一维数组变成二维数组
一.问题 我们在进行数组操作的时候会遇到将一个低维的数组变成一个高维的素数组 二.解决 第一种方法基本思路就是将低维数组进行等长的循环,在第一次为零的情况下,需要添加一个[]数组,原因是将它的基本框架 ...
- Java学习:final关键字的使用与注意事项
final 关键字代表最终.不可改变的. 常见的四种用法 可以用来修饰一个类 可以用来修饰一个方法 可以用来修饰一个局部变量 可以用来修饰一个成员变量 1.当final关键字用来修饰一个类的时候,格式 ...
- 发送邮件使用html模板的实现的大致思路
客户最近有一个需求,大致的意思是提供一个 word文档,让其作为一个模板,在发送邮件的时候能够实现按照这个模板的样式和内容,替换其中 的一些字段,作为邮件的内容发给收件人.这个需求最大的问题就是在于这 ...
- [Linux] - 服务器/VPS一键检测带宽、CPU、内存、负载、IO读写
一.SuperBench.sh VPS/服务器一键检测带宽.CPU.内存.负载.IO读写等的脚本: wget -qO- https://raw.githubusercontent.com/oooldk ...
- BZOJ3209: 花神的数论题(数位DP)
题目: 3209: 花神的数论题 解析: 二进制的数位DP 因为\([1,n]\)中每一个数对应的二进制数是唯一的,我们枚举\(1\)的个数\(k\),计算有多少个数的二进制中有\(k\)个\(1\) ...
- Win10 资源管理器窗口无边框的问题
将“在窗口下显示阴影”关闭,再重新打开即可. 等了这么久,才敢在工作环境使用Win10,没想到还是这么多bug和不方便之处:输入法.托盘区.蓝屏...
- 服务上的图片直接在浏览器上可以打开,但是在img上报404错误处理方法
在index.html中添加代码如下 <meta name="referrer" content="no-referrer" /> 如果还是存在问题 ...
- 在iOS平台使用ffmpeg解码h264视频流
来源:http://www.aichengxu.com/view/37145 在iOS平台使用ffmpeg解码h264视频流,有需要的朋友可以参考下. 对于视频文件和rtsp之类的主流视频传输协议,f ...
- Nexus6p手机root和安装xposed
进行root前需要两个前提条件 解锁OEM 进入开发者选项:设置-〉关于-〉一直点版本号会出现,usb调试打开 手机连接pc命令行输入: adb reboot bootloader 进入bootloa ...
- thinkPHP+LayUI 懒加载实现
html <div class="layui-container" id="container"> </div> js,要引入layui ...