记录win10宿主机ssh连接docker内centos7

注意点:
1.安装的centos7 需要指定端口 及特权

docker run --name your_centos_name -p 10022:22  --privileged=true  -itd centos:centos7 /usr/sbin/init

其中 10022是等会 ssh工具连接的端口号,可以自己随便设置,只要不和其他端口号重复即可

2.在使用自己的镜像时如果出现 cgroups: cannot find cgroup mount destination: unknown.
① docker-machine ssh default 进入虚拟机
② 执行以下命令

sudo mkdir /sys/fs/cgroup/systemd
sudo mount -t cgroup -o none,name=systemd cgroup /sys/fs/cgroup/systemd

3.进入centos中

首先改个密码

passwd root

然后开启 ssh 服务,没有ssh服务的话请参照其他教程安装

systemctl start sshd
  1. 退出centos 在docker容器中执行
docker-machine ip default

查看docker的ip
在这里插入图片描述
然后执行

ssh root@192.168.99.100 -p 10020

选择 yes 然后输入密码
输入yes
就此大功告成

--------------------------------------分割线------------------------------
然后我发现了个问题,只能通过ssh连接容器,如果我想ping 通容器的ip是无法ping通的。
找了一圈 发现这个方法
先进入docker的bash

docker-machine ssh default

然后执行

iptables -t filter -I FORWARD 3 -o docker0 -j ACCEPT

如下图 可能需要 sudo
在这里插入图片描述
之前以及获取到docker的ip 我的是192.168.99.100
再在容器里拿到centos的ip 我的是172.17.0.2
以管理员权限打开win10的powerShell
执行

route -p add 172.17.0.0 mask 255.255.255.0 192.168.99.100

然后再试一下 大功告成
在这里插入图片描述
上面的命令如果没有生效 可以试一下这个

route -p add 172.17.0.0 mask 255.255.0.0 192.168.99.100

参考:[https://zhuanlan.zhihu.com/p/95290602]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值