由於工作需要,要遠端連線container,本地機器是windows,以下為解決步驟:
1. 環境
本地:windows
docker版本1.12
遠端:docker中的container(ubuntu)
2. container安裝ssh服務
首先進入container,進行以下步驟:
① 安裝ssh
sudo apt-get install openssh-server #安裝ssh伺服器
service ssh status # 檢視ssh服務啟動情況
service ssh start # 啟動ssh服務
② 配置ssh,允許root登陸
vi /etc/ssh/sshd_config
將permitrootlogin的值從withoutpassword改為yes
③ 重啟ssh服務
service ssh restart # 重啟動ssh服務
3. 儲存container映象另外開啟docker quickstart terminal,儲存映象
docker ps #檢視正在執行的container
**找到所要儲存的container的container id,假設為********
docker commit ******xx tomjerry/foobar
(注:tomjerry/foobar為要儲存的新映象的名字,可任意寫)
4. 重新執行container
docker run -it -p 50001:22 tomjerry/foobar /bin/bash
service ssh start
注意-p 50001:22這句,意思是將docker的50001埠和container的22埠繫結,這樣訪問docker的50001等價於訪問container的22埠
5. ssh連線container
你可以用xshell或putty等ssh客戶端工具連線container
首先假設各方的ip如下:
本地windows ip: 192.168.99.1
docker ip:192.168.99.100
container ip:172.17.0.3
ssh 192.168.99.100:50001
這樣通過訪問docker的50001埠,就神奇的間接連通到container的22埠了,從而達到ssh連線container的目的,至此。
ssh連線docker中的centos
我們進入容器中 安裝ssh yum y install openssh server啟動ssh服務 systemctl start sshd修改 etc ssh sshd config 配置資訊 去掉如下注釋 port 22 listenaddress 0.0.0.0 listenaddress p...
遠端連線SSH
yum install openssh server 複製 service sshd start ps ef grep ssh 複製 chconfig sshd on 複製 ssh username ip 複製 kv host 別名hostname 主機名port 埠user 使用者名稱identi...
ssh遠端連線
step1 確保被連線方已經開啟ssh服務 檢視ssh服務狀態 service ssh statusstep2 埠對映 被連線方的22埠對映到連線方的空閒埠 step3 連線方主動將公鑰交給被連線方 ssh authorized keys 被連線方檔案位置 ssh id rsa.pub 連線方公鑰檔...