ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

docker给已运行容器添加开放端口

2021-01-06 11:03:04  阅读:1210  来源: 互联网

标签:容器 8100 端口 nginx conf docker


docker给已运行容器添加开放端口

前情摘要

​ 在学习nginx时,通过docker安装后,在配置文件中配置负载均衡,对不同的端口进行了监听,发现配置后的转发页面404,查看docker容器信息后发现,容器只开放了80端口,也就是容器创建运行时通过-p参数指定的,但是nginx想要监听不同的端口,就必须得让容器开放该端口,同时得保证原有容器的配置和信息不变,于是有了以下解决方法

添加开放端口的方法

先提交再配置

# 将现有容器提交为镜像,nginx_add_port_8100(名字任意)
docker commit nginx nginx_add_port_8100

# 在该镜像的基础上重新创建容器并运行
docker run 
--name nginx 
-p 81:80
-p 8100:8100    # 新增需要开放的端口
-v /home/docker/nginx/html:/usr/share/nginx/html 
-v /home/docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf 
-v /home/docker/nginx/logs:/var/log/nginx 
-v /home/docker/nginx/conf.d:/etc/nginx/conf.d 
--restart always 
-d nginx_add_port_8100

重新运行完毕后查看容器信息docker inspect nginx,如下图可以看到端口已经添加上去了

image-20210106103726755

直接修改配置文件

  • 首先,通过docker ps命令查看所要修改的容器id

  • 之后,关闭docker!关闭docker!关闭docker!systemctl stop docker

  • 通过cd /var/lib/docker/containers/[之前查看的容器id]进入容器目录,结构如图

    image-20210106104148369

  • 修改hostconfig.json

    将该json格式化后如图

    image-20210106104706118

    仿照原有格式对配置文件进行修改,添加自己需要开放的端口,通过 ?PortBindings 在vim编辑器中查找到端口绑定相关配置 ,进行修改后保存

  • 修改config.v2.json

    image-20210106104947380

    同样格式化后找到ExposedPorts,如图所示

    image-20210106105055469

    仿照该格式,在vim编辑器中添加暴露的端口后保存

  • 重启容器 systemctl start docker

  • 查看容器状态 docker inspectnginx,或者直接docker ps 进行查看

    image-20210106105340226

    image-20210106105435513

标签:容器,8100,端口,nginx,conf,docker
来源: https://www.cnblogs.com/FriendA1/p/14239817.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有