Docker 仓库和网络

Docker 仓库

https:hub.docker.com  docker  #官网搭建
Docker login  #登陆
Docker search #网上搜索镜像
Docker tag bussbox:latest  用户名/busybox:latest   #标签镜像
Docker push 用户名/busybox:latest  #推送
Docker pull 用户名/busybox:latest  #拉去

阿里云镜像加速器
注册阿里云>镜像服务>镜像加速器>选择系统
按照提示操作

搭建私有仓库

Docker pull registry      #拉去官方镜像
docker run -d --name registry -p 5000:5000 registry:2  #运行容器
docker inspect registry

在这里插入图片描述
在这里插入图片描述

docker tag busybox:latest localhost:5000/busybox:latest  #打标签
docker push localhost:5000/busybox  #推送

在这里插入图片描述
加密的私有仓库
加密的私有仓库根据docker官方的文档来操作
用户认证的体添加也需要根据官方文档来操作
在server2上面配置docker 把server1/etc/docker/certs.d目录发送到server2 里面是认证信息
Server2:docker login 登陆
Docker pull nginx 可以拉去

Docker 原生网络

docker network ls #查看网络

在这里插入图片描述

三种网络模式:
Bridge 桥接网络每开启一个容器是递增的  默认使用

Host 可以让容器共享宿主机网络,好处就是外部主机直接与容器通信,但是容器网络缺少隔离性

None 禁用网络功能,只有lo接口,需要指令

docker run -it --name vm1 --network host ubuntu

在这里插入图片描述
在这里插入图片描述
自定义网络:

Bridge:
docker network create -d bridge my_net1
docker run  -it --name vm1 --network my_net1 ubuntu

在这里插入图片描述

docker network create -d bridge --subnet  172.66.0.0/24 --gateway 172.66.0.1  my_net2 #自定义网络

  docker run -it --name vm2 --network my_net2 ubuntu  #运行容器

在这里插入图片描述
在这里插入图片描述

手动分配ip
docker run -it --name vm3 --network my_net2  --ip 172.66.0.66 ubuntu

在这里插入图片描述

docker network connect my_net2 vm1 #将自定义网络my2连接到vm1
docker container attach vm1  #进入容器
#内置DNS server   dns解析功能必须在自定义网络中使用 --name指定名称

在这里插入图片描述
Joined 容器较为特别的网络模式 在容器中使用–network container:vm1 (vm1容器名)

docker run -it --name vm1 ubuntu
 docker run -it --name vm2 --network container:vm1  ubuntu

在这里插入图片描述
–link 可以用来连接两个容器,修改hosts文件和nginx环境变量的传递
在这里插入图片描述
容器访问外网是通过iptables的SNAT实现

宿主机访问本纪容器使用的是iptables DNAT
外网访问容器 端口的映射 docker-proxy实现外部主机访问容器或者容器之间的访问

Overlay:Macvlan:是用于创建跨主机网络

erver1 和 server2  #两个添加一块网卡eth1
ip link  set eth1 promisc on   #两端都打开混杂模式
 docker network create -d macvlan --subnet 172.66.0.0/24  --gateway 172.66.0.1 -o parent=eth1 manvlan   #两端都设置网络模型


在这里插入图片描述

docker run -it --name vm1 --network manvlan --ip 172.66.0.66 ubuntu   server1 #开启容器

在这里插入图片描述

docker run -it --name vm1 --network manvlan --ip 172.66.0.88 ubuntu  server2 #开启容器

在这里插入图片描述
相互都可以ping通 没有走桥接

Macvlan会独占主机网卡,但可以使用vlan子接口实现多macvlan网络
Vlan可以将物理二层网络划分为4094个逻辑网络,彼此隔离

docker network create -d macvlan --subnet 172.67.0.0/24  --gateway 172.67.0.1 -o parent=eth1.1 manvlan1   server1  #两端配置网络模型
docker run -it --name vm2 --network manvlan1 --ip 172.67.0.66 ubuntu

在这里插入图片描述

docker run -it --name vm4 --network manvlan1 --ip 172.67.0.88 ubuntu


在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值