1、拉取Centos鏡像
去阿里雲上尋找Centos鏡像
docker pull centos:centos8
2、創建容器(主服務器端口與容器端口映射--5000:22)
docker run -itd <imageID> /bin/bash
docker run -itd -p 5000:22 --name CentosY --privileged=true <imageID> /bin/bash
這樣就能啓動一個一直停留在後臺運行的Centos了。如果少了/bin/bash的話,Docker會生成一個Container但是馬上就停止了,不會一致運行即使有了-d參數
-i: 交互式操作
-t: 終端
-d 後臺運行
-p 容器端口映射 (宿主機端口:容器端口)
3、進入容器CentosY
docker attach <imageID>
進入CentosY後,發現竟然沒有ifconfig和ssh
解決方法:
運行:
yum install net-tools.x86_64
可以查看ip地址了:
4、查看ssh服務,沒有則安裝ssh服務
運行命令:
rpm -qa |grep sshd
rpm -qa |grep ssh
netstat -tnlp | grep ssh
安裝ssh服務
yum install -y openssh-server
5.啓動sshd
如果報以下的錯
執行以下命令解決
ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
ssh-keygen -t rsa -f /etc/ssh/ssh_host_ecdsa_key
ssh-keygen -t rsa -f /etc/ssh/ssh_host_ed25519_key
一直回車就行
.重新啓動sshd
/usr/sbin/sshd -D
查看ssh的啓動是否成功
netstat -lntp|grep sshd
6.修改root密碼
可能會報:找不到命令的錯誤
是因爲沒安裝,安裝passwd
yum install passwd
執行命令修改root密碼:
passwd root
接下來就是常用的命令了,將端口映射到宿主機
7.退出,但不停止容器
Ctrl+P+Q
8.回到Docker下面,停止容器
docker stop <容器ID>
9.提交當前容器到鏡像
docker commit <容器ID> <NAME/VERSION>
10.啓動新容器,並且進行端口映射
docker run -itd -p 5000:22 <剛纔提交的鏡像ID> /bin/bash
然後進去容器裏面看一下 sshd是否開啓
好了,這樣我們在windows下利用ssh工具訪問宿主機的IP端口就可以訪問到容器了(需要關閉防火牆)
關閉防火牆:https://blog.csdn.net/weixin_42181917/article/details/105561852
遠程訪問成功: