当前位置: 首页 > Linux

Docker容器管理

时间:2023-04-06 07:17:50 Linux

Docker容器管理Docker网络连接单机Docker网络配置Linux虚拟网桥特点:可以设置IP地址相当于拥有了一个隐藏的虚拟网卡自动划分docker0的地址并分配一个IP地址172.17.X.X并分配了MAC地址Netmask255.255.0.0每个docker主机对应一个docker容器网卡customdocker0addresssudoifconfigdocker0192.168.200.1netmask255.255.255.0customvirtualbridgeaddvirtualbridgesudobrctladdbrbr0sudoifconfigbr0192.168.100.1netmask5255.25.255.0更改dockerdaemon的启动配置sudovim/etc/default/dockerDOCKER_OPTS="-b=br0"sudoservicedockerrestartDocker容器互联默认:允许所有容器间互联--iccsudodockerrun-it--namecct1ubuntubash默认--icc=true,但是IP地址会变化--linksudodockerrun-it--namecct2--link=cct1:webtestubuntubash链接容器,不会因为IP变化导致链接失败并拒绝所有容器之间的互连sudodockerrun-it--namecct3--icc=falseubuntubash允许特定容器之间的互连sudodockerrun-it--namecct4--icc=false--iptables=true--link=cct1:webtestubuntubashDockercontainer连接外网iptables配置sudoiptables-IDOCKER-s10.X.X.X-d172.17.X.X-pTCP-dport80-jACCEPT或者sudoiptables-IDOCKER-s10.X.X.X-d172.17.X.X-pTCP-dport80-jDROPdocker端口映射sudodockerrun-it--namecct5-p80ubuntubashapt-getupdateapt-getinstall-ynginxnginxctrl+psudodockerportcct5Docker数据管理数据卷概念:专门设计的目录可以绕过联合文件系统,提供对一个或多个容器的访问设计目的:数据持久化独立于容器生命周期,无恢复机制。Docker主机中没有回收机制。容器技术可用于与主机共享数据。它可以是目录或文件。同一个目录或文件支持多个容器访问实现容器。容器间数据共享交换的特点在容器启动时初始化可以在容器间共享和复用容器可以直接修改数据卷中的内容数据卷的变化不会影响镜像的更新数据永久存在mount数据卷并添加访问权限,权限可以默认读写sudodockerrun-it-v~/datavolume:/data:权限ubuntubash数据卷容器概念:数据卷容器是挂载数据卷的容器,和其他容器通过挂载这个容器实现数据共享加载数据卷容器并添加访问权限,权限默认为读写sudodockerrun-it-v~/datavolume:/data--namedv1ubuntubashsudodockerrun-it--volume-fromdv1--namedv2ubuntubashdata卷容器只作为数据传递,即使删除,数据仍然存在用于备份sudodockerrun-it-v~/datavolume:/data--名称dv1ubuntubashsudodockerrun-it--volume-fromdv1-v~/backup:/backup--namedv2ubuntutarcvf/backup/dv1.tar/datarestoresudodockerrun-it-v~/datavolume:/data--namedv1ubuntubashsudodockerrun-it--volume-fromdv1-v~/backup:/backup--namedv2ubuntutarzxvf/backup/dv1.tar/dataDocker跨主机连接网桥配置主机配置sudovim/etc/network/interfacesautobr0ifacebr0inetstaticaddress10.211.55.3netmask255.255.255.0gateway10.211.55.1bridge_portseth0Docker容器配置sudovim/etc/default/dockerDOCKER_OPTS="-b=br0--fixed-cidr='10.211.55.128/20'"开启vSwitch配置建立ovsbridge添加GRE(通用路由协议封装)连接配置Docker容器虚拟网桥作为虚拟网桥addovsinterface添加不同的Docker容器网段路由sudoovs-vsctladd-brobr0sudoovs-vsctladd-portobr0gre0sudoovs-vsctlsetinterfacegre0type=greoptions:remote_ip=192.168.1.100sudoovs-vsctlshowsudobrctladdbrbr0sudoifconfigbr0192.168.1.1netmask255.255.255.0sudobrctladdifbr0obr0sudobrctlshowsudovim/etc/default/dockerDOCKER_OPTS="-b=br0"sudoiprouteadd192.168.2.0/24viaeweaveinstall1912.10routelaunch连接到不同主机,通过weave启动容器weaverun192.168.1.2/24-it--namewv1ubuntubash总结通过极客学院Docker容器的学习,对Docker容器有了初步的了解,以后会逐渐加深未来。技术会越来越好