Docker
文章平均质量分 92
五星上炕
君子悟本,本立而道生。
展开
-
docker容器中用户自定bridge网络与默认bridge网络之间的区别
按照一般的思维,docker默认提供的bridge网络与用户自定义的bridge网络之间,在功能上应该没有什么区别,但实际情况与此相反,两者之间存在着一些不同,假设有两个容器连接在同一个bridge网络之上,在网络是默认的与用户自定义的情况下的一些不同点: 默认bridge网络用户自定义bridge网络连通性相互之间需要通过-p或者--publish选项指明开放的端口,即使是两个容...原创 2018-04-16 15:17:53 · 2924 阅读 · 0 评论 -
Docker版本
Docker有两个可用版本,社区版CE与企业版EE,社区版供个人与小团队测试,企业版用于商业开发,企业版又分成初级、标准、高级三个等级。两者区别如下表:能力 社区版 初级企业版 标准企业版 高级企版 容器引擎与内置容器编排、网络、安全 ● ● ● ● 认证基础设施、插件、ISV容器 ● ● ● 镜像管理 ...原创 2018-10-24 10:30:03 · 377 阅读 · 0 评论 -
Docker网络之深挖overlay
原文地址:https://neuvector.com/network-security/docker-swarm-container-networking/原文深入挖掘Docker Swarm网络实现,说了一些官方文档没有说的问题,对于学习理解Docker网络大有帮助,部署首先部署一个包含两个节点的docker swarm集群,名称为别为node 1与node 2,创建swarm集群的...翻译 2018-10-26 18:14:54 · 2057 阅读 · 0 评论 -
Docker概念
Docker是一个开发、部署、运维、管理容器化应用的平台。使用Linux容器部署应用称之为应用的容器化,本身并不是新鲜事物,但是Docker使这项技术的应用变得更容易,容器化变得越来越流行主要是因为它具备如下几个优点:灵活:任何复杂的应用都可以容器化 轻量:容器化共享主机内核,相对于操作系统级的虚拟化方案更加轻量。 交替升级:在线更新、升级。 可移植:一次构建,到处部署。 扩缩容:手动...原创 2018-10-24 11:39:52 · 204 阅读 · 0 评论 -
Docker容器镜像
如果想要开发一个基于python的应用,传统的开发方式中,首先要在本地操作系统中安装python。但Docker不用,只需要找到已经安装了python运行时环境的image即可,不需要本地操作系统中安装phthon,不只如此,image中可以包含任何应用运行时所需的构件。image本身是一种分层的特殊格式文件,在取得安装了python运行时环境的基础层以后,按下来就是把我们自己开发的东西逐层打包进...原创 2018-10-24 13:54:35 · 389 阅读 · 0 评论 -
Docker服务
在分布式应用中,一个完整的应用可能由多个不同的部件组成,每一个组件就是一个“服务”。在Docker中,服务是比容器更高一层的抽象。每个服务都管理一种类型的容器,但是它可以定义运行几个实例、资源配额、负载均衡、对外保暴露的端口、重启策略等。想要使用Docker中的服务功能,除了基本的Docker组件,另外还要安装Docker compose。参考https://docs.docker.com/c...原创 2018-10-24 16:18:42 · 380 阅读 · 0 评论 -
Docker compose概述
Docker compose用来管理多容器应用。首先需要创建一个yaml格式的定义文件,看起来大概是下边这个样子:version: '3'services: web: build: . ports: - "5000:5000" volumes: - .:/code - logvolume01:/var/log links: ...原创 2018-10-24 18:31:16 · 201 阅读 · 0 评论 -
Docker compose简单示例
用python语言开发一个web应用,redis统计访问次数。先安装docker引擎与compse,无需安装python、redis,由compose负责。第一步:创建目录$ mkdir composetest$ cd composetest在目录下创建如下文件,命名为app.py:import timeimport redisfrom flask import Fla...原创 2018-10-24 19:22:55 · 1151 阅读 · 0 评论 -
在Docker swarm中使用compose
前文介绍如何在单独Docker环境下使用compose,本文介绍如何在swarm集群中使用compose。限制image构建在swarm中构建image与单机版一样,使用相同的命令。但是构建完成的image只存在于当前主机,如果运行镜像的多个实例,并且这些实例分布在集群中的不同节点上,那么就需要分发构建好的镜像,一个节点不会共享另一个节点上已经构建好的镜像。解决办法为首先在某个节点上构...原创 2018-10-24 20:24:09 · 4011 阅读 · 0 评论 -
Docker image 多阶构建(multstage build)
参考:https://docs.docker.com/develop/develop-images/multistage-build/背景过大的image占用更多的磁盘空间,push或者pull操作时占用更多的网络带宽,花费更长的时间。大规模的部署过程可能需要数个小时,大部分时间浪费在image的push与pull操作中,甚至因为短时间内流量的爆发而引起网络问题,最终导致部署失败。因此,我...原创 2019-03-24 22:52:33 · 3437 阅读 · 0 评论 -
Docker容器数据持久化
参考:https://docs.docker.com/storage/默认情况下,container内部新创建文件或者修改文件,结果会保存在container的可读写层中,这意味着:当container消失时,与container一体的可读写层也一并消失,数据并没有持久化。并且,当一个container需要其它container中可读写层的数据时,取出操作非常困难。 container的...原创 2019-03-25 13:24:20 · 12355 阅读 · 0 评论 -
Docker网络容器禁用网络
如果打算完全禁用容器网络栈,可以通过在启动容器时指定--network none标志实现,这样在容器内部只有loopback网络设备被创建。命令如下。 第二个命令没有返结果,因为没有路由被创建。创建容器: $ docker run --rm -dit \ --network none \ --name no-net-alpine \ alpine:latest \ as...原创 2018-10-29 10:38:09 · 4096 阅读 · 0 评论 -
Docker网络之Macvlan
当容器需要直连入物理网络时,可以使用Macvlan。Macvlan本身不创建网络,本质上首先使宿主机物理网卡工作在‘混杂模式’,这样物理网卡的MAC地址将会失效,所有二层网络中的流量物理网卡都能收到。接下来就是在这张物理网卡上创建虚拟网卡,并为虚拟网卡指定MAC地址,实现一卡多用,在物理网络看来,每张虚拟网卡都是一个单独的接口。使用Macvlan有几点需要注意:容器直接连接物理网络,由物理网络...原创 2018-10-29 10:09:50 · 5549 阅读 · 0 评论 -
docker secret管理敏感数据及普通服务配置项--简单篇
特别提示:本文使用docker最新版本docker-18.04.0-CE,版本太旧可能不支持本文演示的功能。参考文档:https://docs.docker.com/engine/swarm/secrets/什么是docker secret? 敏感数据包括密码、私钥、证书及其它所有不能以明文的形式在网络上传输,或者是不能保存在各种文件中的数据,例如Dokerfile、image等。从...原创 2018-04-16 18:39:06 · 2067 阅读 · 0 评论 -
docker secret管理敏感数据及普通服务配置项--高级篇
本文用一个WordPress服务与一个Mysql后端存储搭建一个博客系统,演示如何通过docker secret在WordPress与Mysql实例之间共享用户为Mysql设置的密码以及当Mysql密码改变后WordPress滚动升级。参考地址:https://docs.docker.com/engine/swarm/secrets/利用WordPress与Mysql搭建简单的博客...原创 2018-04-17 14:21:02 · 1635 阅读 · 0 评论 -
docker swarm集群监控方案cAdvisor+InfluxDB+Grafana实战
docker swarm集群的监控方案很多,cAdvisor+InfluxDB+Grafana方案功能强大灵活。最重要的是这个方案开源、免费、易用,是不花钱版监控方案。参考文档:https://botleg.com/stories/monitoring-docker-swarm-with-cadvisor-influxdb-and-grafana/组件说明cAdvisor:数据收集模块...原创 2018-04-17 19:20:18 · 5216 阅读 · 1 评论 -
docker machine 安装、配置、使用实验
什么是docker machine? docker machine是docker提供的一个命令行工具,通过这个工具可以远程管理、控制多台主机,例如在每台主机上安装、配置docker,在远程主机上执行各种docker指令等。详细参考https://docs.docker.com/machine/overview/docker machine应用场景 docker mach...原创 2018-04-12 16:50:03 · 10072 阅读 · 0 评论 -
docker swarm集群日志管理ELK实战
docker默认日志管理 docker部署完成后,运行docker info命令,如下图所示: 上图中红框内的"json-file",指的是当启动某个容器时,如果不特别指定容器所采用的log驱动,则使用json-file这种方式。当采用这种方式的容器在创建时,docker daemon会首先在宿主机上创建一个与这个容器相关联的文件,当容器运行时,docker daemo...原创 2018-04-18 20:01:32 · 7674 阅读 · 2 评论 -
docker swarm集群创建、配置、可视化管理实验
什么是docker swarm? docker swarm 是docker原生的docker群集管理、服务编排工具,以命令行的形式创建、管理群集,部署服务,详细参考https://docs.docker.com/engine/swarm/,里边的亮点特性及关键概念需要仔细看一下。创建结点 集群与单体的区别就是把多个docker实例组织在一些做为一个整体来使用。在dock...原创 2018-04-13 15:59:45 · 12641 阅读 · 0 评论 -
Docker compose环境变量声明
可以一个单独的扩展名为.env的文件中为Docker compose设置默认环境变量,文件放置在执行docker-compose命令时所在的目录即可生效,也就是说可以将多种版本的.env放置在不同的目录下,执行docker-compose命令时在那个目录,那个.env文件就会生效。如果在定义compose文件时又一次指定了某个环境变量,那么.env文件中定义的环境变量将会被覆盖。语法规则每...原创 2018-10-25 10:24:19 · 3016 阅读 · 0 评论 -
Docker compose网络
默认情况下,compose命令启动时会创建一个网络,所有同一compose之下的容器实例都加入这个网络,它们之间可以互通,并且提供名称服务,也就是不同服务之间可以通过名称发现对方,如:version: "3"services: web: build: . ports: - "8000:8000" db: image: postgres p...原创 2018-10-25 11:12:28 · 1454 阅读 · 0 评论 -
Docker网络概述
Docker网络主要解决部署在Docker集群中的容器、服务彼此之间如何通信与隔离的问题,包括容器与服务之间的互通,容器与服务对外部世界之间的互通,不同租户下流量的隔离,网络的DHCP服务,DNS服务,安全策略等。网络驱动Docker网络子系统通过插件化的驱动实现,允许扩展,当然也内置了几种驱动以提供网络功能:bridge:创建网络时的默认驱动类型,多用在单机部署。 host:取消容...原创 2018-10-25 13:47:03 · 375 阅读 · 0 评论 -
Docker网络之bridge网络
bridge网络相当于用软件的方法在宿主机内部虚拟一个交换机,它是一个二层网络设备。在一台宿主机内可以创建多个bridge,连接在同一bridge上的容器可以直接通信,连接在不同bridge上的容器不能直接通信。不能直接通信不代表不可以通信,实际上连接在不同bridge上的容器,即使bridge分布在不同的节点上,也是可以通信的,但是必需通信三层路由,相当于是通过路由器将多个bridge连接起...原创 2018-10-25 14:48:58 · 1043 阅读 · 0 评论 -
Docker网络之host网络
如果容器使用'host'网络驱动,意味着容器共享宿主机网络栈,双方在网络名称空间并没有隔离。例如,如果容器绑定到‘host’网络的80端口,则可通过宿主机IP加上80端口访问容器。'host'类型网络驱动只在Linux操作系统主机上可用,不支持Mac、Windows。从Docker 17.06开始,支持Docker Swarm中服务使用host网络,在docker container cr...原创 2018-10-29 09:19:26 · 6383 阅读 · 0 评论