ssh 登入進入 docker container
1、Container安裝ssh服務,博主的linux是centos
① 安裝ssh
sudo yum install openssh-server #安裝ssh伺服器
service sshd status # 檢視ssh服務啟動情況
service sshd start # 啟動ssh服務
② 配置ssh,允許root登陸
vi /etc/ssh/sshd_config
將 PermitRootLogin 的值從 withoutPassword 改為 yes
③ 重啟ssh服務
service sshd restart # 重啟動ssh服務
2、儲存Container映象
3、重新執行Container
docker run -it -p 50001:22 tomjerry/foobar /bin/bash
service sshd start
注意-p 50001:22這句,意思是將docker的50001埠和container的22埠繫結,這樣訪問docker的50001等價於訪問container的22埠
4、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
那麼,你要遠端container,則要訪問以下地址:
ssh 192.168.99.100:50001
這樣通過訪問docker的50001埠,就神奇的間接連通到container的22埠了,從而達到ssh連線container的目的。
如果root登入仍提示需要密碼,可以新建一個賬戶,分配密碼,再給這個賬戶設定從普通賬戶切換到root賬戶的許可權
#chmod u+w /etc/sudoers #echo "xxx ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers #chmod u-w /etc/sudoers
敲入 sudo su -s,即可