[Docker]使用XShell连接容器种的Ubuntu
1.前言
虽然不推荐在容器中安装ssh(原因可参考dockerssh-为什么不需要在Docker容器中运行sshd),但是对于我这样不想在很嫌弃cmd丑陋的外观的用户来说,xshell的终端好看多了 😃。
2.环境
Windows 10 + Docker Desktop
3.方法
3.1 安装ssh服务
安装ssh服务器
sudo apt install openssh-server
查看ssh服务状态
service ssh status
打开ssh服务
service ssh start
3.2 配置ssh,允许root登录
vim /etc/ssh/sshd_config
修改PermitRootLogin的值为yes
3.3 保存容器镜像
查看当前正在运行的容器的id
docker ps -a
保存容器为新镜像
docker commit container-id new-name
3.4 重新运行容器
docker run -it -p 50001:22 container-name /bin/bash
50001:22这句表示把docker的50001与容器的22端口绑定,这样访问docker的50001等价于访问container的22端口
3.5 启动ssh服务
service ssh start
这里我暂时没找到如何ssh默认开机自启的方法,待更新
3.7 ssh远程到容器
首先查看通过ipconfig命令查看以太网适配器 vEthernet(Default Switch):下IPv4的地址,然后远程到50001端口即可远程到容器。