为docker添加端口映射

创建docker时添加端口

通过-p porta:portb添加端口映射。
比如我在虚拟机里输入docker run [镜像名] -p porta:portb,当访问虚拟机的porta端口时,请求会被转发到docker内的portb。

为已创建的docker添加端口

通过commit添加端口

这种方法其实就是通过commit创建新镜像,然后就和上面一样了。
具体流程:

  1. 将已存在的容器commit,创建新镜像;
  2. run新的镜像时通过-p添加端口映射。

通过修改文件添加端口

每个docker都有一个自己对应的文件夹,用于保存容器信息。容器内有一些配置文件,可以通过修改配置文件达到添加端口映射的效果。
具体流程:

  1. 查看容器对应的ID,可以通过docker ps或者docker inspect [容器名] | grep Id查找容器对应的ID。
  2. 停止容器(docker stop [容器名])和docker服务(systemctl stop dockerservice docker stop
  3. 进入**/var/lib/docker/containers/[容器对应ID]**(docker默认安装位置)文件夹,修改以下两个文件(以8080为例,后面会给修改后的结果):
    1. hostconfig.json:在PortBindings下添加**“8080/tcp”:[{“HostIp”:"",“HostPort”:“8080”}]**
    2. config.v2.json:在ExposedPorts下添加**“8080/tcp”:{}**
      添加后在使用docker inspect查看信息时应该可以看到
...
"HostConfig": {
...
	"PortBindings": {
		...
	     "8080/tcp": [
		         {
		             "HostIp": "",
		             "HostPort": "8080"
		         }
		     ]
		 }
	 	...
	...
	}
...
"Config": {
...
 "ExposedPorts": {
	 ...
     "8080/tcp": {}
     ...
 }
 ...
  1. 启动docker服务(systemctl start dockerservice docker start),启动容器(docker start [容器名]
  2. docker ps,发现对应的容器的PORTS处多了8080端口,完事
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值