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$…
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 数据管理 为什么要进行数据管理呢?因为当我们在使用container时,可能会在里面创建一些数据或文件,但是当我们停掉或删除这个容器时,这些数据或文件也会同样被删除,这是我们并不想看见的事情,所以我们要进行数据管理,实现持久化存储 在容器中管理数据主要有两种方式: 数据卷(Data volumes) 数据卷容器(Data volume containers) 一.如果使用的是-v参数的方法指定挂载的数据卷 其实本质都是在运行docker run命令时,使用-v参数将主机的某个目录作…
前面已经讲解了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…
1) 快速配置指南(详细使用下面会讲) 其中有些命令选项只有在 Docker 服务启动的时候才能配置,而且不能马上生效 下面2个命令选项既可以在启动服务时指定,也可以 Docker 容器启动(docker run )时候指定.在 Docker 服务启动的时候指定则会成为默认值,后面执行docker run时可以覆盖设置的默认值. 最后这些选项只有在 docker run执行时使用,因为它是针对容器的特性内容: 2) 配置 DNS 怎么自定义配置容器的主机名和 DNS 配置呢? 秘诀就是它利用虚拟…
镜像与容器之间的关系: 镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体.容器可以被 创建.启动.停止.删除.暂停等. 为什么使用数据卷(Volume): 容器存储层的生存周期和容器一样,容器消亡时,容器存储层也随之消亡.因此,任何保存于容器存储层的信息都会随容器删除而丢失. 按照 Docker 最佳实践的要求,容器不应该向其存储层内写入任何数据,容器存储 层要保持无状态化.所有的文件写入操作,都应该使用 数据…
Docker Machine 是 Docker 官方编排(Orchestration)项目之一,负责在多种平台上快速安装 Docker 环境 Docker Machine是一种工具,它允许你在虚拟主机上安装Docker引擎,并使用docker-machine命令管理主机. 因为之前的内容都是在一个主机host上运行的,但是我们在真正使用的时候肯定是会有多个主机host的情况的,所以首先我们会遇见的一个问题就是怎么在多个host上将docker安装并配置好 docker machine的出现就能够…
仓库(Repository)是集中存放镜像的地方 一个容易混淆的概念是注册服务器(Registry). 实际上注册服务器是管理仓库的具体服务器,每个服务器上可以有多个仓库,而每个仓库下面有多个镜像. 从这方面来说,仓库可以被认为是一个具体的项目或目录.例如对于仓库地址dl.dockerpool.com/ubuntu来说,dl.dockerpool.com是注册服务器(Registry),ubuntu是仓库(Repository) 1.Docker Hub(公共仓库) 登录——docker log…