一 mac 不能连接docker 内网 ip
首先答案是不可以,官网也说了不行,因为docker无法与mac建立连接,因此他们更推荐通过暴露端口的方式,但是这种访问时往往集群的时候你需要映射很多端口号,特别是大数据组件特别多的时候。
先来看下LINUX的docker架构
docker是在linux内核容器基础上实现的,linux安装docker后,会创建一个为docker0的虚拟网卡,linux宿机与docker容器之间的通信,通过docker0虚拟网卡进行。
再来看下OSX的docker
docker在OSX的实现方式,是首先创建一个linux的虚拟机,在将docker放入到虚拟机中实现,而对于linux虚拟机,与OSX之间的通信,目前版本采用/var/run/docker.sock
这种socket文件来通信,在OSX宿机中自然ping不通docker容器。
网上也有通过vpn 或者 内部容器Nginx转发,反正要配置一堆东西,而且还要一起软件,不是很香,我更推荐的是vm的方式有三个好处:
- docker 本来就需要Linux,即使你不装linux vm,它自己也会虚拟 Linux。
- docker 每次拉一堆包出来 如何防止宿主机上不是很灵活,而且还有脏数据,特别是我们做实验,这样做很安全。
- 可移植,直接拷贝虚拟机比较方便轻量(我上上周mac电脑坏了,我就拷贝了两个东西一个documents,一个是虚拟机,然后在window10 配置一下就跑起来,真是太香了)。
二 安装 vm+ centsos7
推荐Mac 破解版软件地址 https://www.macbl.com/ (符合真香定律)
下载 centos7 http://mirrors.aliyun.com/centos/7.8.2003/isos/x86_64/2.1 mac 安装 fusion vm
略
2.2 在vm中安装centos7
打开VM,新建虚拟机
选择创建自定义虚拟机,按继续按钮
选择CentOS64位(一般情况就下64位的镜像),这一步骤选择取决于你自己下载的镜像的具体信息。按继续按钮。
选择新建虚拟磁盘,按继续按钮
按完成按钮
注意这里选择100G,省的后面扩展麻烦
选择自己要储存的位置,按储存按钮
选择CentOS 7 ISO
设置———启动
开始安装CentOS 7
三 配置网络(比较重要)
3.1 step1
新增一个虚拟网卡
3.2 step2 vm 设置固定ip
vi /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
# 改成自己的ip
IPADDR=192.168.64.200
NETMASK=255.255.255.0
GATEWAY=192.168.64.2
DNS1=144.144.144.144
DNS2=8.8.8.8
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=2ce0f05a-3411-459a-80fe-3bd4feacbd96
DEVICE=ens33
ONBOOT=yes
顺便搞个加速源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
#或者
#curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum makecache
3.2 step3 安装docker
# 安装依赖
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# 添加docker下载仓库
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 安装docker-ce
sudo yum install docker-ce
# 启动docker-ce
sudo systemctl start docker
# 验证
sudo docker --version
3.3 step4 安装 docker-compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.25.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version
3.4 step5 设置开机重启
#启动docker
systemctl start docker
#停止 docker 服务
systemctl stop docker
#重启docker
systemctl restart docker
#查看 docker服务状态
systemctl status docker
#设置开启启动docker服务
systemctl enable docker
四 配置路由demo
注意这是mac的命令 ,且是临时的,永久的太复杂不介绍了,因为mac很少关机哈。
#查看路由表
netstat -r
#新增路由
sudo route -n add -net 172.17.0.0/15 192.168.44.200
#删除路由
sudo route -v delete -net 10.104.40.0/15