snake107

随笔分类 -  Docker

摘要:一般性的指南和建议 容器应该是短暂的 通过 Dockerfile 构建的镜像所启动的容器应该尽可能短暂(生命周期短)。「短暂」意味着可以停止和销毁容器,并且创建一个新容器并部署好所需的设置和配置工作量应该是极小的。 使用 .dockerignore 文件 使用 Dockerfile 构建镜像时最好是 阅读全文
posted @ 2019-11-24 12:14 爱喝奶茶的皮卡丘 阅读(275) 评论(0) 推荐(0)
摘要:基本语法 Docker 命令有两大类,客户端命令和服务端命令。前者是主要的操作接口,后者用来启动 Docker Daemon。 客户端命令:基本命令格式为 docker [OPTIONS] COMMAND [arg...]; 服务端命令:基本命令格式为 dockerd [OPTIONS]。 可以通过 阅读全文
posted @ 2019-11-24 12:13 爱喝奶茶的皮卡丘 阅读(264) 评论(0) 推荐(0)
摘要:Docker 底层的核心技术包括 Linux 上的命名空间(Namespaces)、控制组(Control groups)、Union 文件系统(Union file systems)和容器格式(Container format)。 我们知道,传统的虚拟机通过在宿主主机中运行 hypervisor 阅读全文
posted @ 2019-11-24 12:12 爱喝奶茶的皮卡丘 阅读(165) 评论(0) 推荐(0)
摘要:术语 首先介绍几个术语。 服务 (service):一个应用容器,实际上可以运行多个相同镜像的实例。 项目 (project):由一组关联的应用容器组成的一个完整业务单元。 可见,一个项目可以由多个服务(容器)关联而成,Compose 面向项目进行管理。 场景 最常见的项目是 web 网站,该项目应 阅读全文
posted @ 2019-11-24 12:11 爱喝奶茶的皮卡丘 阅读(155) 评论(0) 推荐(0)
摘要:命令对象与格式 对于 Compose 来说,大部分命令的对象既可以是项目本身,也可以指定为项目中的服务或者容器。如果没有特别的说明,命令对象将是项目,这意味着项目中所有的服务都会受到命令影响。 执行 docker compose [COMMAND] help 或者 docker compose he 阅读全文
posted @ 2019-11-24 12:11 爱喝奶茶的皮卡丘 阅读(214) 评论(0) 推荐(0)
摘要:模板文件是使用 Compose 的核心,涉及到的指令关键字也比较多。但大家不用担心,这里面大部分指令跟 docker run 相关参数的含义都是类似的。 默认的模板文件名称为 docker compose.yml,格式为 YAML 格式。 version: "3" services: webapp: 阅读全文
posted @ 2019-11-24 12:11 爱喝奶茶的皮卡丘 阅读(225) 评论(0) 推荐(0)
摘要:Compose 支持 Linux、macOS、Windows 10 三大平台。 Compose 可以通过 Python 的包管理工具 pip 进行安装,也可以直接下载编译好的二进制文件使用,甚至能够直接在 Docker 容器中运行。 前两种方式是传统方式,适合本地环境下安装使用;最后一种方式则不破坏 阅读全文
posted @ 2019-11-24 12:10 爱喝奶茶的皮卡丘 阅读(307) 评论(0) 推荐(0)
摘要:Docker Compose 是 Docker 官方编排(Orchestration)项目之一,负责快速的部署分布式应用。 阅读全文
posted @ 2019-11-24 12:09 爱喝奶茶的皮卡丘 阅读(138) 评论(0) 推荐(0)
摘要:Compose 项目是 Docker 官方的开源项目,负责实现对 Docker 容器集群的快速编排。从功能上看,跟 OpenStack 中的 Heat 十分类似。 其代码目前在 https://github.com/docker/compose 上开源。 Compose 定位是 「定义和运行多个 D 阅读全文
posted @ 2019-11-24 12:09 爱喝奶茶的皮卡丘 阅读(169) 评论(0) 推荐(0)
摘要:容器中可以运行一些网络应用,要让外部也可以访问这些应用,可以通过 P 或 p 参数来指定端口映射。 当使用 P 标记时,Docker 会随机映射一个 49000~49900 的端口到内部容器开放的网络端口。 使用 docker container ls 可以看到,本地主机的 49155 被映射到了容 阅读全文
posted @ 2019-11-24 12:08 爱喝奶茶的皮卡丘 阅读(1208) 评论(0) 推荐(0)
摘要:如果你之前有 Docker 使用经验,你可能已经习惯了使用 link 参数来使容器互联。 随着 Docker 网络的完善,强烈建议大家将容器加入自定义的 Docker 网络来连接多个容器,而不是使用 link 参数。 新建网络 下面先创建一个新的 Docker 网络。 $ docker networ 阅读全文
posted @ 2019-11-24 12:08 爱喝奶茶的皮卡丘 阅读(202) 评论(0) 推荐(0)
摘要:如何自定义配置容器的主机名和 DNS 呢?秘诀就是 Docker 利用虚拟文件来挂载容器的 3 个相关配置文件。 在容器中使用 mount 命令可以看到挂载信息: $ mount /dev/disk/by uuid/1fec...ebdf on /etc/hostname type ext4 ... 阅读全文
posted @ 2019-11-24 12:08 爱喝奶茶的皮卡丘 阅读(11045) 评论(0) 推荐(0)
摘要:v 还是 –mount 参数 Docker 新用户应该选择 mount 参数,经验丰富的 Docker 使用者对 v 或者 volume 已经很熟悉了,但是推荐使用 mount 参数。 挂载一个主机目录作为数据卷 使用 mount 标记可以指定挂载一个本地主机的目录到容器中去。 $ docker r 阅读全文
posted @ 2019-11-24 12:07 爱喝奶茶的皮卡丘 阅读(231) 评论(0) 推荐(0)
摘要:数据卷 是一个可供一个或多个容器使用的特殊目录,它绕过 UFS,可以提供很多有用的特性: 数据卷 可以在容器之间共享和重用 对 数据卷 的修改会立马生效 对 数据卷 的更新,不会影响镜像 数据卷 默认会一直存在,即使容器被删除 注意:数据卷 的使用,类似于 Linux 下对目录或文件进行 mount 阅读全文
posted @ 2019-11-24 12:06 爱喝奶茶的皮卡丘 阅读(165) 评论(0) 推荐(0)
摘要:上一节我们搭建了一个具有基础功能的私有仓库,本小节我们来使用 Docker Compose 搭建一个拥有权限认证、TLS 的私有仓库。 新建一个文件夹,以下步骤均在该文件夹中进行。 准备站点证书 如果你拥有一个域名,国内各大云服务商均提供免费的站点证书。你也可以使用 openssl 自行签发证书。 阅读全文
posted @ 2019-11-24 12:06 爱喝奶茶的皮卡丘 阅读(480) 评论(0) 推荐(0)
摘要:目前 Docker 官方维护了一个公共仓库 Docker Hub,其中已经包括了数量超过 15,000 的镜像。大部分需求都可以通过在 Docker Hub 中直接下载镜像来实现。 注册 你可以在 https://cloud.docker.com 免费注册一个 Docker 账号。 登录 可以通过执 阅读全文
posted @ 2019-11-24 12:05 爱喝奶茶的皮卡丘 阅读(240) 评论(0) 推荐(0)
摘要:有时候使用 Docker Hub 这样的公共仓库可能不方便,用户可以创建一个本地仓库供私人使用。 本节介绍如何使用本地仓库。 docker registry 是官方提供的工具,可以用于构建私有的镜像仓库。本文内容基于 docker registry v2.x 版本。 安装运行 docker regi 阅读全文
posted @ 2019-11-24 12:05 爱喝奶茶的皮卡丘 阅读(176) 评论(0) 推荐(0)
摘要:导出容器 如果要导出本地某个容器,可以使用 docker export 命令。 $ docker container ls a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 7691a814370e ubuntu:14.04 "/bin/ 阅读全文
posted @ 2019-11-24 12:04 爱喝奶茶的皮卡丘 阅读(495) 评论(0) 推荐(0)
摘要:可以使用 docker container rm 来删除一个处于终止状态的容器。例如 $ docker container rm trusting_newton trusting_newton 如果要删除一个运行中的容器,可以添加 f 参数。Docker 会发送 SIGKILL 信号给容器。 清理所 阅读全文
posted @ 2019-11-24 12:04 爱喝奶茶的皮卡丘 阅读(436) 评论(0) 推荐(0)
摘要:仓库(Repository)是集中存放镜像的地方。 一个容易混淆的概念是注册服务器(Registry)。实际上注册服务器是管理仓库的具体服务器,每个服务器上可以有多个仓库,而每个仓库下面有多个镜像。从这方面来说,仓库可以被认为是一个具体的项目或目录。例如对于仓库地址 dl.dockerpool.co 阅读全文
posted @ 2019-11-24 12:04 爱喝奶茶的皮卡丘 阅读(125) 评论(0) 推荐(0)