docker怎么更改映射端口

发布时间 - 2020-03-24 00:00:00    点击率:

1、编辑容器的配置文件进行更改端口;

docker run 运行启动时  -p 可以指定容器启动映射端口 (0.0.0.0:18080 8080)

可以编辑配置文件 进行修改;(需要重启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

(推荐教程: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 58080 -j ACCEPT

宿主机 nat 映射:
iptables -A DOCKER ! -i docker0 -p tcp -m tcp --dport 58080 -j DNAT --to-destination 172.16.4.3:8080

注:

docker 在操作或者添加容器时候,首先 service iptables save  ,然后再编辑添加重启。

添加容器默认会添加映射到防火墙的,但是重启iptables 就会失效、所以要先保存再重启。


# docker  # json  # var  # default  # 重启  # 配置文件  # 就会  # 才会  # 然后再  # 可以直接  # 要先  # 我更  # 改了  # 不放心 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 教你用AI将一段旋律扩展成一首完整的曲子  php做exe能调用系统命令吗_执行cmd指令实现方式【详解】  打造顶配客厅影院,这份100寸电视推荐名单请查收  北京企业网站设计制作公司,北京铁路集团官方网站?  如何在Windows虚拟主机上快速搭建网站?  Laravel如何设置定时任务(Cron Job)_Laravel调度器与任务计划配置  如何用搬瓦工VPS快速搭建个人网站?  装修招标网站设计制作流程,装修招标流程?  网站制作报价单模板图片,小松挖机官方网站报价?  高性能网站服务器配置指南:安全稳定与高效建站核心方案  PHP 500报错的快速解决方法  做企业网站制作流程,企业网站制作基本流程有哪些?  Laravel 419 page expired怎么解决_Laravel CSRF令牌过期处理  详解Nginx + Tomcat 反向代理 负载均衡 集群 部署指南  Laravel怎么导出Excel文件_Laravel Excel插件使用教程  香港服务器如何优化才能显著提升网站加载速度?  谷歌浏览器下载文件时中断怎么办 Google Chrome下载管理修复  laravel服务容器和依赖注入怎么理解_laravel服务容器与依赖注入解析  如何快速重置建站主机并恢复默认配置?  香港网站服务器数量如何影响SEO优化效果?  Win11怎么开启自动HDR画质_Windows11显示设置HDR选项  Laravel怎么在Controller之外的地方验证数据  魔方云NAT建站如何实现端口转发?  Laravel怎么做数据加密_Laravel内置Crypt门面的加密与解密功能  网易LOFTER官网链接 老福特网页版登录地址  专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?  百度输入法全感官ai怎么关 百度输入法全感官皮肤关闭  html文件怎么打开证书错误_https协议的html打开提示不安全【指南】  mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?  🚀拖拽式CMS建站能否实现高效与个性化并存?  什么是javascript作用域_全局和局部作用域有什么区别?  Laravel如何获取当前用户信息_Laravel Auth门面获取用户ID  Laravel如何操作JSON类型的数据库字段?(Eloquent示例)  如何用虚拟主机快速搭建网站?详细步骤解析  制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?  微信小程序 scroll-view组件实现列表页实例代码  php在windows下怎么调试_phpwindows环境调试操作说明【操作】  网页设计与网站制作内容,怎样注册网站?  nginx修改上传文件大小限制的方法  昵图网官网入口 昵图网素材平台官方入口  如何在阿里云完成域名注册与建站?  消息称 OpenAI 正研发的神秘硬件设备或为智能笔,富士康代工  如何在服务器上三步完成建站并提升流量?  Laravel如何使用软删除(Soft Deletes)功能_Eloquent软删除与数据恢复方法  laravel怎么在请求结束后执行任务(Terminable Middleware)_laravel Terminable Middleware请求结束任务执行方法  phpredis提高消息队列的实时性方法(推荐)  LinuxShell函数封装方法_脚本复用设计思路【教程】  Python函数文档自动校验_规范解析【教程】  详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)  宙斯浏览器视频悬浮窗怎么开启 边看视频边操作其他应用教程