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權限)