注意点:
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
- 退出centos 在docker容器中执行
docker-machine ip default
查看docker的ip
然后执行
ssh root@192.168.99.100 -p 10020
选择 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]