Linux主機如何用ssh去登入docker容器的步驟
-
進入終端,sudo -i,切換root,輸入docker -d
-
開啟另一個終端,切換root,輸入docker search ubuntu,大概如下結果:
-
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
ubuntu Ubuntu is a Debian-based Linux operating s... 2306 [OK]
ubuntu-upstart Upstart is an event-based replacement for ... 33 [OK]
torusware/speedus-ubuntu Always updated official Ubuntu docker imag... 25 [OK]
tleyden5iwx/ubuntu-cuda Ubuntu 14.04 with CUDA drivers pre-installed 18 [OK]
ubuntu-debootstrap debootstrap --variant=minbase --components... 14 [OK]
guilhem/vagrant-ubuntu 11 [OK] -
輸入docker pull ubuntu,系統就會從第一個下載映象
-
下載完成後,可以輸入docker images檢視是否已經下載映象到本地
-
啟動一個ubuntu容器,進入bash,docker run -it ubuntu /bin/bash,
-
此時應該可以看到 [email protected]:/# ,證明已經成功開動了容器,並且進入容器的bash,執行apt update
-
修改容器的root密碼:passwd, 直至輸入新的密碼,例如:123456
-
安裝vim,apt-get install vim -y
-
安裝容器的openssh-server,輸入 apt-get install openssh-server -y
-
成功安裝後,vim /etc/ssh/sshd_config,修改下面兩個配置
-
PermitRootLogin yes
UsePAM no -
啟動ssh服務,service ssh start
-
退出容器,輸入exit,然後輸入docker ps -a,檢視容器的ID
-
提交容器成為新的映象,例如叫做ubuntu-ssh,輸入docker commit 容器ID ubuntu-ssh
-
啟動這個映象的容器,並對映本地的一個閒置的埠(例如10000)到容器的22埠,並啟動容器的sshd docker run -d -p 10000:22 ubuntu-ssh /usr/sbin/sshd -D
-
現在開啟新的終端,輸入ssh [email protected] -p 10000,如果能連結成功,會要求輸入密碼的,輸入剛才的123456就可以進入容器的終端了