Docker实用技巧(三):容器与主机之间的端口映射

/ docker / 没有评论 / 1284浏览

Docker实用技巧(三):容器与主机之间的端口映射

docker容器想要实现一些网络通信的功能,就需要端口映射,这里想实现三个目标:端口映射、多端口映射、xshell远程登陆docker容器。

一、端口映射

映射需要的命令是 -p 0000:0001,这里意味着宿主机的0000端口映射到了容器的0001端口,命令是在运行容器的时候加入的。

docker run -tid --name docker_name -p 8888:8888 image:01

这时候可能会有疑问,已经运行的容器怎么办,我现在的解决办法是:

1. 停掉容器

docker stop docker_name

2. 保存容器备份

docker commit docker_name image:01

一般这时候我就重命名原来的老容器(变成docker_name_old),我是想新容器替换掉那个,所以保持名字一致

docker rename docker_name docker_name_old

3. 利用备份重新启动容器

docker run -tid --name docker_name -p 8888:8888 image:01

二、多端口映射

可能有时候需要多个端口,比如ftp,比如hostlocal等等,就需要多映射,就很简单,有多少个映射就加多少个 -p 就好了:

docker run -tid --name docker_name -p 8888:8888 -p 8080:80 -p 888:888 image:01

三、xshell远程登陆docker容器

只需要把宿主机闲置端口(你希望用来远程登录的端口)映射到docker的22端口即可:

docker run -tid --name docker_name -p 8888:8888 -p 8080:80 -p 888:888 -p 8088:22 image:01

这时候用xshell或者其他ssh工具都可以通过8088端口远程进入到容器内。

四、其他

--privileged=true (用来获取主机root权限)