Windows下使用xshell连接docker中的centos
实现路线:安装镜像,开启ssh服务,使用xshell连接。
1、windows下载安装Docker
官方地址https://www.docker.com/,具体安装自行处理吧。
2、 打开命令行,拉取centos镜像(默认拉取最新版本),此时拉的是centos8
docker pull centos
3、使用特权模式+指定映射端口创建并启动容器
docker run -tid --name=centos --privileged=true -p 22:22 centos /usr/sbin/init
# -p 后面是要映射的端口,如果看不懂就继续往下跟着操作,到最后面就懂了
# --privileged=true 使用特权模式
4、进入容器
docker exec -it centos /bin/bash
5、安装网络工具(此过程可能出现错误,见本文附的解决办法1)
[root@d34a7fa0d2f3 yum.repos.d]# yum install net-tools
6、启动ssh服务(此过程可能出现错误,见本文附的解决办法2)
[root@d34a7fa0d2f3 yum.repos.d]# systemctl start sshd.service
7、安装密码设置工具
[root@d34a7fa0d2f3 yum.repos.d]# yum install passwd
8、修root密码
[root@d34a7fa0d2f3 yum.repos.d]# passwd root
9、使用xshell连接docker中的centos
xshell工具百度自行下载一个就能用。

点击连接即可完成。

连接成功如图所示。

————————————————————————————————————————————————————————————————
操作过程中出现问题解决办法(此部分按照操作时的版本,已亲测解决):
1、上面的操作步骤5安装网络工具,出现以下错误:
[root@d34a7fa0d2f3 /]# yum install net-tools
Failed to set locale, defaulting to C.UTF-8
CentOS Linux 8 - AppStream 106 B/s | 38 B 00:00
Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist
解决办法:
a.进入到 yum 的 repos 目录:
cd /etc/yum.repos.d/
b.修改 centos 文件内容:
sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
c.生成缓存更新(第一次更新,速度稍微有点慢,耐心等待两分钟左右)
yum makecache
d.运行 yum update 并重新安装 net-tools
yum update -y
yum -y install net-tools
此时安装net-tools即可成功。
2、启动ssh服务时报错如下:
[root@d34a7fa0d2f3 yum.repos.d]# systemctl start sshd.service
Failed to start sshd.service: Unit sshd.service not found.
解决办法:
[root@d34a7fa0d2f3 yum.repos.d]# yum install openssh-server
安装成功后再次输入systemctl start sshd.service命令即可成功。

浙公网安备 33010602011771号