Docker是一種開源的容器化平臺,可用于構建、部署和管理應用程序。Docker的一個重要功能是允許用戶通過SSH連接到正在運行的容器。默認情況下,Docker將隨機分配一個端口來監聽SSH連接請求。
$ sudo docker run -d -P --name my_container my_image
在上面的命令中,-P
表示Docker將自動分配一個端口,允許容器內SSH服務通過該端口進行訪問。在運行容器后,可以使用以下命令查看分配的端口:
$ sudo docker port my_container 22
該命令將返回SSH端口的主機和端口信息。例如:0.0.0.0:32768
表示端口號為32768。
如果要將SSH端口設置為靜態端口,可以在Dockerfile中使用EXPOSE
指令指定端口,并使用-p
選項將主機的端口映射到Docker容器中的端口。
FROM ubuntu EXPOSE 22 CMD ["/usr/sbin/sshd", "-D"]
在構建鏡像后,可以運行以下命令以映射主機端口到容器的SSH端口:
$ sudo docker run -d -p 2222:22 --name my_container my_image
在上述命令中,-p
選項指定將主機的端口2222映射到容器中的SSH端口22。
SSH連接到Docker容器時,需要使用容器IP和SSH端口。例如:
$ ssh root@172.17.0.2 -p 32768
在上面的命令中,172.17.0.2
是Docker容器的IP地址,32768
是SSH端口。
通過SSH連接到Docker容器可以方便地管理和維護容器中的應用程序,以及在容器中進行調試。
上一篇$emit vue.js
下一篇dockernegix