由于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

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐