由于docker的容器是运行在docker虚拟机上,因此想要在这之外的机器如宿主机(win10)上去远程连接容器,需要配置端口映射。
1、找到docker虚拟机的网关
在win10安装了docker,会生成一个虚拟网卡,记住ip,我这里为10.0.75.1
这个可以在docker的settings->network里面自由配置网关

2、运行容器时指定远程连接端口
我这里将运行的centos容器22端口映射到docker虚拟机的3213端口
docker run --name centos -P 10.0.75.1:3213:22 -it 镜像名称 /bin/bash

3、确认容器已开启sshd,通过命令查看
rpm -qa | grep ssh

3.1 如果没有openssh-server,需要安装, 输入:yum install openssh-server安装

3.2 安装完毕启动ssh服务
service sshd restart

3.3查看是否启动22端口
netstat -antp | grep sshd

4、验证
telnet 10.0.75.1 3213

出现ssh则ok
可以用xshell或CRT远程连接了

5、配置自动开启ssh
由于是容器化运行, SSH服务不会自动启动 ,需要设置自动启动

打开 ~/.bashrc 文件
#加入 /usr/sbin/sshd

如果在容器启动后还是没有自动启动ssh,在/etc/rc.local中也加入
#加入 /usr/sbin/sshd

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐