本文是记录用来Moba或者Xshell等客户端连接docker中的容器并远程登录。
第一步
在进行端口映射前,最好先将容器进行停止掉,实验中发现不停止有时会设置失败。
在linux服务器上用“docker stop 容器Id“进行停止。
第二步
如果想用客户端直接连接到容器,必须要进行端口映射,这里在Linux服务器上进入如下路径:
/var/lib/docker/containers
接着在进入容器Id的文件夹。例如我这里是“f79386e373740865f8fad5ff8807a6fd0a0139217ab587254edc9d61f36f84fe”,自己的容器Id可以通过“docker ps -a”进行查看,根据该命令打印的第一列确定自己的容器文件夹是哪个。
第三步
接着用“vim hostconfig.json”打开文件,给“PortBindings”增加如下字段:
“22/tcp”:[{“HostIp”:"",“HostPort”:“50005”}],添加字段的时候注意括号及用逗号分隔。如下图所示。
第四步
修改完hostconfig.json文件后,还需要修改“config.v2.json”中的“ExposedPorts”字段,增加“22/tcp”:{},因为我这里暴露的是22号端口,根据自己的端口进行修改。
第五步
进行完以上的步骤之后,一定要先重启docker服务,命令如下:
systemctl restart docker
第六步
重启完服务后,再启动docker容器,用如下命令:
docker start 容器ID
如果需要进入容器的话,执行:
docker exec -it 容器Id /bin/bash
其他
如果需要连接到容器,还需要在容器里安装SSH,并进行相关的配置,可以参考本人的另外一篇文章:https://blog.csdn.net/iamjingong/article/details/116128110