1>使用的driver 1〉generic 使用带有SSH的现有VM/主机创建机器. 如果你使用的是机器不直接支持的provider,或者希望导入现有主机以允许Docker Machine进行管理,那么这一点非常有用.驱动程序(driver)在create命令上执行以下任务列表: 如果docker不在主机上运行,它将被自动安装 更新主机包(apt-get更新,yum更新…) 它生成证书来保护docker守护进程 如果主机使用systemd,它将创建/etc/systemd/system/dock…
1)容器访问控制 容器的访问控制,主要通过 Linux 上的 iptables防火墙来进行管理和实现. iptables是 Linux 上默认的防火墙软件,在大部分发行版中都自带. 容器访问外部网络 容器要想访问外部网络,需要本地系统的转发支持.在Linux 系统中,检查转发是否打开: root@36078e6ba58f:/opt/webapp# sysctl net.ipv4.ip_forward net.ipv4.ip_forward = 为1,说明打开了:如果为0,说明没有开启转发,则需要…
Docker Machine 是 Docker 官方编排(Orchestration)项目之一,负责在多种平台上快速安装 Docker 环境 Docker Machine是一种工具,它允许你在虚拟主机上安装Docker引擎,并使用docker-machine命令管理主机. 因为之前的内容都是在一个主机host上运行的,但是我们在真正使用的时候肯定是会有多个主机host的情况的,所以首先我们会遇见的一个问题就是怎么在多个host上将docker安装并配置好 docker machine的出现就能够…
Docker 数据管理 为什么要进行数据管理呢?因为当我们在使用container时,可能会在里面创建一些数据或文件,但是当我们停掉或删除这个容器时,这些数据或文件也会同样被删除,这是我们并不想看见的事情,所以我们要进行数据管理,实现持久化存储 在容器中管理数据主要有两种方式: 数据卷(Data volumes) 数据卷容器(Data volume containers) 一.如果使用的是-v参数的方法指定挂载的数据卷 其实本质都是在运行docker run命令时,使用-v参数将主机的某个目录作…
1.启动容器 启动容器有两种方式: 基于镜像新建一个容器并启动 将在终止状态(stopped)的容器重新启动 1)新建并启动——docker run 比如在启动ubuntu:14.04容器,并输出“Hello World”,之后终止容器: userdeMBP:~ user$ docker run ubuntu:14.04 /bin/echo 'Hello world' Hello world 如果要启动一个bash终端,并且允许用户进行交互: userdeMacBook-Pro:~ user$…
前面已经讲解了FROM.RUN指令,还提及了COPY.ADD,接下来学习其他的指令 5.Dockerfile 指令详解 1> COPY 复制文件 格式: COPY  <源路径> ...<目标路径> COPY ["<源路径1>",..."<目标路径>"] 和 RUN指令一样,也有两种格式,一种类似于shell命令行,一种类似于exec函数调用 COPY指令将从构建上下文目录中 <源路径>的文件/目录复制…
Docker 中的网络功能介绍 Docker 允许通过外部访问容器或容器互联的方式来提供网络服务 1) 外部访问容器 容器中可以运行一些网络应用,要让外部也可以访问这些应用,可以通过 -p或 -P参数来指定端口映射 运行容器时如果使用-P,Docker 会随机映射一个在49000-49900区间内的端口到内部容器开放的网络端口. 比如下面的容器,就随机选取了本地的32768端口映射到了容器中正开放的5000端口,此时访问本机的 32768 端口即可访问容器内 web 应用提供的界面 userde…
仓库(Repository)是集中存放镜像的地方 一个容易混淆的概念是注册服务器(Registry). 实际上注册服务器是管理仓库的具体服务器,每个服务器上可以有多个仓库,而每个仓库下面有多个镜像. 从这方面来说,仓库可以被认为是一个具体的项目或目录.例如对于仓库地址dl.dockerpool.com/ubuntu来说,dl.dockerpool.com是注册服务器(Registry),ubuntu是仓库(Repository) 1.Docker Hub(公共仓库) 登录——docker log…
3.利用 commit 理解镜像构成 在之前的例子中,我们所使用的都是来自于 Docker Hub 的镜像. 直接使用这些镜像是可以满足一定的需求,而当这些镜像无法直接满足需求时,我们就需要定制这些镜像. 接下来的几节就将讲解如何定制镜像 回顾一下之前我们学到的知识: 镜像是多层存储,每一层是在前一层的基础上进行的修改; 容器同样也是多层存储,是在以镜像为基础层,在其基础上加一层作为容器运行时的存储层. 1)现在让我们以定制一个 Web 服务器为例子,来讲解镜像是如何构建的: userdeMBP…
1) 快速配置指南(详细使用下面会讲) 其中有些命令选项只有在 Docker 服务启动的时候才能配置,而且不能马上生效 下面2个命令选项既可以在启动服务时指定,也可以 Docker 容器启动(docker run )时候指定.在 Docker 服务启动的时候指定则会成为默认值,后面执行docker run时可以覆盖设置的默认值. 最后这些选项只有在 docker run执行时使用,因为它是针对容器的特性内容: 2) 配置 DNS 怎么自定义配置容器的主机名和 DNS 配置呢? 秘诀就是它利用虚拟…