我們知道docker是可以用exec來直接訪問容器的,但是還不夠high,有時候要模擬伺服器的登入總不能用docker exec吧,來吧,老司機帶你飛!
以centos為例,需要幾步操作
1.安裝openssh-server
2.初始化root使用者密碼
3.開啟sshd服務
廢話不多說,dockerfile獻上
from centos簡單解釋一下,run yum install -y wget && \
wget -o /etc/yum.repos.d/centos-base.repo && \
yum install -y passwd && \
yum install -y openssh-server ssh-keygen && \
echo 'abcd1234' | passwd root --stdin
run ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -n "" -q && \
ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -n "" -q && \
ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key -n "" -q
#run systemctl enable sshd
cmd /usr/sbin/sshd && tail -f /var/log/wtmp
yum install -y wget && \wget -o /etc/yum.repos.d/centos-base.repo && \
yum install -y passwd && \
yum install -y openssh-server ssh-keygen
echo 'abcd1234' | passwd root --stdin
run ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -n "" -q && \ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -n "" -q && \
ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key -n "" -q
cmd /usr/sbin/sshd && tail -f /var/log/wtmpdockerfile目錄下執行,yeah,就是chenqionghe/centos映象,你也可以弄成自己的,例如muscle/lightwegiht
docker build -t chenqionghe
/centos
.
docker run --name centos_ssh -p 2222:22 -it chenqionghe
/centos
這裡使用了2222埠來對映容器裡的22埠,執行起來就可以使用ssh連線了,輸出設定好的abcd1234密碼,注意,這裡用的是2222對映的埠
➜ ~
ssh
[email protected] -p 2222
[email protected]'s password:
last login: tue nov 20 04:10:17 2018 from 172.17.0.1
[root@a8c8e0fbd74f ~]
# ls -l /
total 56
-rw-r--r-- 1 root root 12030 oct 6 19:15 anaconda-post.log
lrwxrwxrwx 1 root root 7 oct 6 19:14 bin -> usr
/bin
drwxr-xr-x 5 root root 360 nov 20 04:09 dev
drwxr-xr-x 54 root root 4096 nov 20 04:09 etc
drwxr-xr-x 2 root root 4096 apr 11 2018 home
lrwxrwxrwx 1 root root 7 oct 6 19:14 lib -> usr
/lib
lrwxrwxrwx 1 root root 9 oct 6 19:14 lib64 -> usr
/lib64
drwxr-xr-x 2 root root 4096 apr 11 2018 media
drwxr-xr-x 2 root root 4096 apr 11 2018 mnt
drwxr-xr-x 2 root root 4096 apr 11 2018 opt
dr-xr-xr-x 223 root root 0 nov 20 04:09 proc
以上就是使用docker開啟ssh模擬伺服器的全過程,ubuntu應該也差不多,感舉的小夥伴可以試試
hight起來,light weight baby!
Docker中開啟sshd服務
ssh服務安裝 開機自起 在 root目錄下建立run.sh指令碼,新增如下內容 bin bash service sshd restart while do sleep 10 done其實開機自起可以用cmd的,但是暫時不會。就統一用指令碼執行的方式防止退出,感覺可調控行蠻好的。儲存修改 開啟服務...
docker宿主機訪問docker容器服務失敗
原因 因為docker的虛擬ip網段是172.17.與區域網的ip網段172.17衝突了,所以有兩種方式 解決方法 一 修改docker網絡卡資訊,將網段改為與區域網不同的即可 linux修改方法 第一步 刪除原有配置 sudo service docker stop sudo ip link se...
ubuntu開啟sshd服務
ssh分客戶端openssh client和openssh server 如果你只是想登陸別的機器的ssh只需要安裝openssh client ubuntu有預設安裝,如果沒有則sudo apt get install openssh client 如果要使本機開放ssh服務就需要安裝openss...