Docker 是一種開源的虛擬化平臺(tái),能夠輕松地創(chuàng)建、部署和運(yùn)行應(yīng)用程序。在 Docker 中,我們可以創(chuàng)建鏡像,將其傳輸?shù)讲煌?Docker 宿主機(jī),并在其中運(yùn)行容器。為了方便在容器中進(jìn)行一些基本操作,我們經(jīng)常需要通過 SSH 連接到 Docker 容器。這篇文章將介紹如何使用 Docker SSH 連接到容器。
首先,我們需要確保 Docker 容器啟用了 SSH。我們可以通過以下步驟來確認(rèn):
$ docker ps
找到我們需要連接的容器 ID,并使用以下命令進(jìn)入容器內(nèi)部:
$ docker exec -it CONTAINER_ID /bin/bash
現(xiàn)在,我們可以在容器內(nèi)部運(yùn)行 SSH 服務(wù)。在這里我們以 Ubuntu 為例,安裝 SSH 客戶端:
$ apt-get update $ apt-get install openssh-client
在容器中啟動(dòng) SSH 進(jìn)程:
$ service ssh start
現(xiàn)在我們可以使用 SSH 客戶端連接到容器中的 SSH 服務(wù):
$ ssh user@localhost -p 22
其中, "user" 是我們?nèi)萜鲀?nèi)部的用戶名,22 是 SSH 服務(wù)的默認(rèn)端口。
現(xiàn)在我們可以通過 SSH 連接與容器進(jìn)行交互。需要注意的是,容器在運(yùn)行時(shí)會(huì)使用隨機(jī)生成的 IP 地址,每次重新啟動(dòng)容器會(huì)生成一個(gè)新的 IP 地址。因此,我們需要在每次重新啟動(dòng)容器后重新獲取 IP 地址。我們可以通過以下命令獲取容器的 IP 地址:
$ docker inspect --format '{{ .NetworkSettings.IPAddress }}' CONTAINER_ID
這樣,我們就可以使用 Docker SSH 與容器進(jìn)行交互了。在實(shí)際應(yīng)用中,我們可以將 SSH 服務(wù)添加到容器的啟動(dòng)配置中,以確保在容器啟動(dòng)時(shí)自動(dòng)啟動(dòng) SSH 服務(wù)。