Docker中文文档(十):DockerCompose项目实战

Posted Posted in Docker, 云计算, 笔记, 菜鸟

Docker Compose 是 Docker 官方编排(Orchestration)项目之一,负责快速在集群中部署分布式应用。

本章将介绍 Compose 项目情况以及安装和使用。

1、简介

Compose 项目目前在 Github 上进行维护。

Compose 定位是“defining and running complex applications with Docker”,前身是 Fig,兼容 Fig 的模板文件。

Dockerfile 可以让用户管理一个单独的应用容器;而 Compose 则允许用户在一个模板(YAML 格式)中定义一组相关联的应用容器(被称为一个 project,即项目),例如一个 Web 服务容器再加上后端的数据库服务容器等。

….[阅读全文]

Docker中文文档(九):C/S架构以及底层实现原理

Posted Posted in Docker, 云计算, 笔记, 菜鸟

Docker使用客户端-服务器(client-server)架构模式。Docker客户端会与Docker守护进程进行通信。Docker守护进程会处理复杂繁重的任务,例如建立、运行、发布你的Docker容器。Docker客户端和守护进程可以运行在同一个系统上,当然你也可以使用Docker客户端去连接一个远程的Docker守护进程。Docker客户端和守护进程之间通过socket或者RESTful API进行通信。

 

….[阅读全文]

Docker中文文档(八):Dockerfile的详细解析

Posted Posted in Docker, 云计算, 笔记, 菜鸟

Dockerfile是由一系列命令和参数构成的脚本,这些命令应用于基础镜像并最终创建一个新的镜像。对于开发人员:可以为开发团队提供一个完全一致的开发环境;对于测试人员:可以直接拿开发时所构建的镜像或者通过Dockerfile文件构建一个新的镜像开始工作了;对于运维人员:在部署时,可以实现应用的无缝移植。

1、基本结构

Dockerfile 由一行行命令语句组成,并且支持以 # 开头的注释行。

一般的,Dockerfile 分为四部分:基础镜像信息、维护者信息、镜像操作指令和容器启动时执行指令。

….[阅读全文]

Docker中文文档(七):BasicSecurity基本安全功能介绍

Posted Posted in Docker, 云计算, 笔记, 菜鸟

Docker作为最重视安全的容器技术之一,在很多方面都提供了强安全性的默认配置,其中包括:容器root用户的Capability能力限制、Seccomp系统调用过滤、Apparmor的 MAC 访问控制、ulimit限制、pid-limits的支持,镜像签名机制等。

1、内核名字空间

Docker 容器和 LXC 容器很相似,所提供的安全特性也差不多。当用 docker run 启动一个容器时,在后台 Docker 为容器创建了一个独立的名字空间和控制组集合。

….[阅读全文]

Docker中文文档(六):networks高级网络配置实战

Posted Posted in Docker, 云计算, 笔记, 菜鸟

1、快速配置指南

下面是一个跟 Docker 网络相关的命令列表。

其中有些命令选项只有在 Docker 服务启动的时候才能配置,而且不能马上生效。

  • -b BRIDGE or –bridge=BRIDGE –指定容器挂载的网桥
  • –bip=CIDR –定制 docker0 的掩码
  • -H SOCKET… or –host=SOCKET… –Docker 服务端接收命令的通道
  • –icc=true|false –是否支持容器之间进行通信
  • –ip-forward=true|false –请看下文容器之间的通信
  • –iptables=true|false –禁止 Docker 添加 iptables 规则
  • –mtu=BYTES –容器网络中的 MTU

….[阅读全文]

Docker中文文档(五):networks容器网络与互联

Posted Posted in Docker, 云计算, 笔记, 菜鸟

Docker自己的网络方案比较简单,就是每个宿主机上会跑一个非常纯粹的Linux Bridge,这个Bridge可以认为是一个二层的交换机,但它的能力有限,只能做一些简单的学习和转发。

1、外部访问容器

容器中可以运行一些网络应用,要让外部也可以访问这些应用,可以通过 -P 或 -p 参数来指定端口映射。

当使用 -P 标记时,Docker 会随机映射一个 49000~49900 的端口到内部容器开放的网络端口。

使用 docker ps 可以看到,本地主机的 49155 被映射到了容器的 5000 端口。此时访问本机的 49155 端口即可访问容器内 web 应用提供的界面。

….[阅读全文]

Docker中文文档(四):volumes数据卷使用实战

Posted Posted in Docker, 云计算, 笔记, 菜鸟

Docker的镜像是由一系列的只读层组合而来的,这个设计使得Docker可以提高镜像构建、存储和分发的效率,节省了时间和存储空间,然而也存在如下问题: 不能在宿主机上很方便地对容器中的文件进行访问;多个容器之间的数据无法共享;当删除容器时容器产生的数据将丢失。为了解决这些问题,Docker引人了数据卷(volume)机制。volume是存在于一个或多个容器中的特定文件或文件夹,这个目录以独立于联合文件系统的形式在宿主机中存在。

 

….[阅读全文]

Docker中文文档(三):Container容器使用实战

Posted Posted in Docker, 云计算, 笔记, 菜鸟

Docker 容器是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app)。几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架包括系统。

 

….[阅读全文]

Docker中文文档(二):Image镜像原理

Posted Posted in Docker, 云计算, 笔记, 菜鸟

在 Docker 的术语里,一个只读层被称为镜像,一个镜像是永久不会变的。

由于 Docker 使用一个统一文件系统,Docker 进程认为整个文件系统是以读写方式挂载的。 但是所有的变更都发生顶层的可写层,而下层的原始的只读镜像文件并未变化。由于镜像不 可写,所以镜像是无状态的。

 

….[阅读全文]