资讯专栏INFORMATION COLUMN

Docker容器管理

graf / 2915人阅读

摘要:容器管理网络连接单机网络配置虚拟网桥的特点可以设置地址相当于拥有一个隐藏的虚拟网卡的地址自动划分分配地址分配地址子网掩码每一个主机都对应一个容器网卡自定义地址自定义虚拟网桥添加虚拟网桥更改守护进程的启动配置容器互联默认允许所有容器间互联

Docker容器管理 Docker网络连接 单机Docker网络配置

linux虚拟网桥的特点:

可以设置IP地址

相当于拥有一个隐藏的虚拟网卡

docker0的地址自动划分

分配IP地址172.17.X.X

分配MAC地址

子网掩码255.255.0.0

每一个docker主机都对应一个docker容器网卡

自定义docker0地址

sudo ifconfig docker0 192.168.200.1 netmask 255.255.255.0

自定义虚拟网桥

添加虚拟网桥

sudo brctl addbr br0

sudo ifconfig br0 192.168.100.1 netmask 255.255.255.0

更改docker守护进程的启动配置

sudo vim /etc/default/docker

DOCKER_OPTS="-b=br0"

sudo service docker restart

Docker容器互联

默认:允许所有容器间互联

--icc

sudo docker run -it --name cct1 ubuntu bash

默认--icc=true,但是IP地址会发生变化

--link

sudo docker run -it --name cct2 --link=cct1:webtest ubuntu bash

链接容器,不会因IP变化导致链接不到

拒绝所有容器间互联

sudo docker run -it --name cct3 --icc=false ubuntu bash

允许特定容器间互联

sudo docker run -it --name cct4 --icc=false --iptables=true --link=cct1:webtest ubuntu bash

Docker容器与外部网络连接

iptables配置

sudo iptables -I DOCKER -s 10.X.X.X -d 172.17.X.X -p TCP -dport 80 -j ACCEPT
或者
sudo iptables -I DOCKER -s 10.X.X.X -d 172.17.X.X -p TCP -dport 80 -j DROP

docker端口映射

sudo docker run -it --name cct5 -p 80 ubuntu bash
apt-get update
apt-get install -y nginx
nginx
ctrl+p
sudo docker port cct5

Docker数据管理 数据卷

概念:经过特殊设计的目录,可以绕过联合文件系统,为一个或者多个容器提供访问。

设计目的:

数据持久化

独立于容器生命周期

不存在回收机制

存在Docker宿主机中,可利用容器技术与宿主机共享数据,可以是目录或文件,同一个目录或文件支持多个容器访问,实现容器间数据共享与交换

特点

在容器启动时初始化

可以在容器间共享和重用

容器可以对数据卷中的内容直接修改

数据卷的变化不会影响镜像的更新

数据永久存在

挂载数据卷并添加访问权限,权限默认可读写

sudo docker run -it -v ~/datavolume:/data:权限 ubuntu bash

数据卷容器

概念:数据卷容器就是挂载了数据卷的容器,其他容器通过挂载这个容器实现数据共享

挂载数据卷容器并添加访问权限,权限默认可读写

sudo docker run -it -v ~/datavolume:/data --name dv1 ubuntu bash
sudo docker run -it --volume-from dv1 --name dv2 ubuntu bash

数据卷容器仅仅作为数据传递,即使删除,数据仍然存在

备份

sudo docker run -it -v ~/datavolume:/data --name dv1 ubuntu bash
sudo docker run -it --volume-from dv1 -v ~/backup:/backup --name dv2 ubuntu tar cvf /backup/dv1.tar /data

还原

sudo docker run -it -v ~/datavolume:/data --name dv1 ubuntu bash
sudo docker run -it --volume-from dv1 -v ~/backup:/backup --name dv2 ubuntu tar zxvf /backup/dv1.tar /data

Docker跨主机连接 网桥配置

主机配置

sudo vim /etc/network/interfaces

auto br0
iface br0 inetstatic
address 10.211.55.3
netmask 255.255.255.0
gateway 10.211.55.1
bridge_ports eth0

Docker容器配置

sudo vim /etc/default/docker

DOCKER_OPTS="-b=br0 --fixed-cidr="10.211.55.128/20""

Open vSwitch配置

建立ovs网桥

添加GRE(通用路由协议封装)连接

配置Docker容器虚拟网桥

为虚拟网桥添加ovs接口

添加不同Docker容器网段路由

sudo ovs-vsctl add-br obr0
sudo ovs-vsctl add-port obr0 gre0
sudo ovs-vsctl set interface gre0 type=gre options:remote_ip=192.168.1.100
sudo ovs-vsctl show

sudo brctl addbr br0
sudo ifconfig br0 192.168.1.1 netmask 255.255.255.0
sudo brctl addif br0 obr0
sudo brctl show

sudo vim /etc/default/docker
DOCKER_OPTS="-b=br0"

sudo ip route add 192.168.2.0/24 via 192.168.1.100 dev eth0
route
weave配置

安装

启动

weave launch

连接不同主机

通过weave启动容器

weave run 192.168.1.2/24 -it --name wv1 ubuntu bash

总结

通过极客学院中Docker容器的学习,对Docker容器有了一个初步的认识,以后会逐步深入,容器化技术会越来越好。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/33315.html

相关文章

  • 并存共生or相爱相杀?容器、虚拟机与Docker概念全解析

    摘要:本文立足于新手,从容器和虚拟机两个大的概念入手,由浅入深,由宏转微,为我们解析了的方方面面。出于各种考量与需求,容器在外观上与虚拟机非常相似。大家可以在数秒钟内完成容器的创建与运行,而虚拟机则由于需要引导完整的虚拟操作系统而耗费更多时间。 当小数看到这篇文章时内心是激动的,因为或许介绍Docker容器的文章有无数,但是如此清晰易懂、对小白如此友好的却不多见。本文立足于新手,从容器和虚拟...

    aboutU 评论0 收藏0
  • Docker相关的项目

    摘要:相关基于项目和项目,并遵循应用的十二因素风格。相关在设计上,项目尽量保持驱动和模块化,以便模块支持不同的实现方案。相关不仅可以管理众多虚拟机,其计算服务还支持对的驱动,管理引擎的子项目还可用于通过模板管理容器。现已整合公司所支持的项目。 整理自《Docker技术入门与实践》 PaaS(Platform as a Service) PaaS 是希望提供一个统一的可供所有软件直接运行而无需...

    littlelightss 评论0 收藏0
  • Docker容器云落地一年后的反思

    摘要:这里我想从我在谷歌内部使用容器,并基于容器研发大规模生产平台的经验中谈谈现有和谷歌容器环境的差别,并通过的实际案例落地经验总结下自身所带来的一些谎言和误区。 我与容器的缘分起源于我在 Google 内部研发容器集群管理系: Cluster Management。谷歌内部一切皆容器,搜索、视频、大数据、内部工具等核心业务都以容器的方式运行在容器编排系统 Borg 上。2014年,随着公司...

    _ang 评论0 收藏0
  • 立足Docker运行MySQL:多主机网络下Docker Swarm模式的容器管理

    摘要:本文将以多主机网络环境为基础,探讨如何利用内置编排工具模式对各主机上的容器加以管理。在本文中,我们将立足于台主机与在负载均衡之上部署应用程序容器,同时将其接入一套覆盖网络。管理节点会利用负载均衡以将服务公布至集群之外。 本文将以多主机网络环境为基础,探讨如何利用内置编排工具 Docker Swarm模式对各主机上的容器加以管理。 Docker Engine – Swarm模式 在...

    20171112 评论0 收藏0
  • 30个不可不知的容器技术工具和资源

    摘要:容器包的大小和完整性使得团队成员能够在几秒钟内部署完整的环境。由的前安全主管美国总统执行办公室网络安全高级总监联合创立的,目前正在准备类似的容器安全产品。在年,在美国召开了两个大型会议和个小型会议。 软件容器技术影响着从开发人员、测试人员、运维人员到分析人员的IT团队中的每一个人,它不像虚拟化一样只是系统管理员的工具。容器包的大小和完整性使得团队成员能够在几秒钟内部署完整的环境。 容器...

    crelaber 评论0 收藏0
  • 容器技术开源项目综述

    摘要:年容器大火,围绕着容器技术的发展也涌现了许多新项目。项目类本节综述了目前开源社区和互联网公司围绕容器技术开发的相关项目。是公司开源项目,旨在为提供守护进程。 2015年容器大火,围绕着容器技术的发展也涌现了许多新项目。同时,许多老项目也开始支持容器作为运行环境。下面介绍这些项目: 规范标准类 容器使用了Linux内核的特性,Docker的成功也主要在于其充分挖掘了此类特性。但Docke...

    idealcn 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<