![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Docker
文章平均质量分 90
kikajack
这个作者很懒,什么都没留下…
展开
-
Docker 配置镜像加速器
网易云的不需要注册,速度快,七牛的速度很慢,也同样不需要注册。阿里云需要注册,没有体验。apt 安装方式配置文件是 /etc/docker/daemon.json,增加下面的内容,注意需要将阿里云的 your-id 替换成你的:{ "registry-mirrors":[ "https://hub-mirror.c.163.com/", "https://{y原创 2020-07-16 13:01:55 · 303 阅读 · 0 评论 -
Docker 生产环境之配置守护进程 - 通过 Prometheus 收集 Docker 指标
原文地址Prometheus 是一个开源系统监控和告警工具包。可以将 Docker 配置为 Prometheus 的目标。本主题向你展示如何配置 Docker,设置 Prometheus 作为 Docker 容器运行,并使用 Prometheus 监控 Docker 实例。 警告:可用指标和这些指标的名称正在积极开发中,并可能随时更改。目前,只能监控 Docker 本身,无法监控...翻译 2018-03-11 22:04:10 · 2051 阅读 · 0 评论 -
Docker 产品手册之 Docker Hub - 概述
原文地址Docker Hub 是一个基于云的 registry(注册表)服务,它允许你链接到代码仓库,构建镜像并测试它们,存储手动推送的镜像以及到 Docker Cloud 的链接,以便将镜像部署到主机。它为整个开发流程中的容器镜像发现,分发和变更管理,用户和团队协作 以及工作流程自动化提供集中资源。可以免费通过 Docker ID 登录 Docker Hub 和 Docker Cloud。Dock翻译 2018-03-18 19:02:10 · 733 阅读 · 0 评论 -
Docker 产品手册之 Docker Hub - 通过 Docker ID 使用 Docker Hub
原文地址Docker Hub 使用你的免费 Docker ID 来保存你的账户设置,并作为你的账户命名空间。如果你还没有 Docker ID,你可以 注册一个。可以搜索 Docker Hub 并在没有帐户且无需登录的情况下获取镜像。但是,要推送图像,留下评论或为仓库加注星标,就需要使用 Docker ID 登录。一旦拥有个人 Docker ID,还可以创建或加入 Docker Hub ...翻译 2018-03-18 19:19:46 · 2790 阅读 · 0 评论 -
Docker 生产环境之配置容器 - 停止守护进程时保留容器
原文地址默认情况下,当 Docker 守护进程终止时,会关闭正在运行的容器。从 Docker Engine 1.12 开始,可以配置守护进程,使容器在守护进程不可用时保持运行。这个功能被称为 live restore。live restore 选项有助于减少由于守护进程崩溃,计划停机或升级导致的容器停机时间。 注意:Windows 容器不支持 live restore,但对于 Dock...翻译 2018-03-12 22:52:05 · 1979 阅读 · 0 评论 -
Docker 生产环境之配置容器 - 一个容器中运行多个服务
原文地址容器的主要运行进程是 Dockerfile 末尾的 ENTRYPOINT 和 CMD。通常建议通过每个容器运行一个服务来分隔关注区域。该服务可以分成多个进程(例如,Apache Web 服务器启动多个工作进程)。虽然可以有多个进程,但为了高效利用 Docker,避免一个容器负责整个应用程序的多个方面。可以使用用户定义的网络和共享卷来连接多个容器。容器的主进程负责管理它启动的所有进程...翻译 2018-03-12 23:12:45 · 12900 阅读 · 0 评论 -
Docker 配置网络 - 使用 host 网络
原文地址如果你为容器使用 host 网络驱动程序,则该容器的网络堆栈不与 Docker 主机隔离。例如,如果运行绑定到端口 80 的容器并使用 host 网络,则可以直接通过宿主机 IP 地址的端口 80 使用该容器的应用程序。在Docker 17.06 及更高版本中,通过将 --network host 传递给 docker container create 命令,还可以为 swarm 服务使用翻译 2018-03-05 21:31:25 · 8110 阅读 · 0 评论 -
Docker 配置网络 - 使用 Macvlan 网络
原文地址有些应用程序,尤其是遗留的或用于监控网络流量的程序,需要直接连接到物理网络。这种场景下,可以使用 macvlan 网络驱动程序将 MAC 地址分配给每个容器的虚拟网络接口,使得看上去是物理网络接口直接连接到物理网络。此时,需要指定 Docker 主机上的物理接口用于 Macvlan,以及 Macvlan 的子网和网关。甚至可以使用不同的物理网络接口来隔离你的 Macvlan 网络。记住以下几翻译 2018-03-05 22:06:48 · 7725 阅读 · 0 评论 -
Docker 配置网络 - 关闭容器的网络
原文地址如果想要完全关闭容器中的网络堆栈,可以在启动容器的时候使用 --network none 标志。在容器中只会创建回环(loopback)设备。下面例子演示了这一点:1. 创建容器:$ docker run --rm -dit \ --network none \ --name no-net-alpine \ alpine:latest \ ash2....翻译 2018-03-05 22:15:14 · 4315 阅读 · 0 评论 -
Docker 配置守护进程和容器的网络 - 开启 IPv6
原文地址需要在 Docker 守护进程中开启对 IPv6 的支持才可以在 Docker 容器或 swarm 服务中使用 IPv6。之后,可以选择将 IPv4 或 IPv6(或两者)与任何容器,服务或网络一起使用。 注意:只有在 Linux 主机上运行的 Docker 守护程序才支持 IPv6 网络。编辑 /etc/docker/daemon.json 并将关键字 ipv6 设为...翻译 2018-03-06 17:20:41 · 2054 阅读 · 0 评论 -
Docker 生产环境之使用可信镜像 - 在内容信任(content trust)沙盒中演示
原文地址本页面介绍了如何设置和使用沙盒(sandbox)进行信任实验。沙盒允许你在本地配置和尝试信任操作,而不会影响生产镜像。在开始这个沙盒实验之前,应该仔细阅读 信任概述。1. 先决条件这些说明假定你正在 Linux 或 macOS 中运行。可以在本地机器或虚拟机上运行此沙箱。需要拥有在本地机器或虚拟机上运行 docker 命令的权限。此沙箱需要安装两个 Docker 工具:Docker Engi翻译 2018-03-18 18:32:45 · 1685 阅读 · 0 评论 -
Docker 生产环境之使用可信镜像 - 为内容信任(content trust)管理密钥
原文地址通过使用密钥来管理镜像标签的信任。Docker 的内容信任使用五种不同类型的密钥: 密钥 描述 root key 镜像标签的内容信任根。启用内容信任后,将创建一次 root 密钥。也称为脱机密钥,因为它应该脱机保存。 targets 此密钥允许签署镜像标记,以管理 delegation,包括 delegations 密钥或允许的 delegations 路径。也称为存储翻译 2018-03-18 16:54:31 · 1120 阅读 · 0 评论 -
Docker 生产环境之配置容器 - 自动启动容器
原文地址Docker 提供了重启策略,以控制容器在退出时是否自动启动,或在 Docker 重新启动时自动启动。重启策略可确保链接的容器以正确的顺序启动。Docker 建议使用重启策略,并避免使用流程管理器启动容器。重启策略跟 dockerd 命令的 --live-restore 标志不同。使用 --live-restore 标志使得在 Docker 升级过程中容器可以保持运行,虽然网络和用...翻译 2018-03-11 22:32:34 · 4618 阅读 · 1 评论 -
Docker 生产环境之安全性 - 适用于 Docker 的 AppArmor 安全配置文件
原文地址AppArmor(Application Armor,应用程序防护)是一个 Linux 安全模块,可保护操作系统及其应用程序免受安全威胁。要使用它,系统管理员会将 AppArmor 安全配置文件与每个程序相关联。Docker 希望找到加载并执行的 AppArmor 策略。Docker 自动为容器生成并加载名为 docker-default 的默认配置文件。在 Docker 1.13.0 和更翻译 2018-03-17 21:35:31 · 4390 阅读 · 0 评论 -
Docker 生产环境之安全性 - 适用于 Docker 的 Seccomp 安全配置文件
原文地址安全计算模式(secure computing mode,seccomp)是 Linux 内核功能。可以使用它来限制容器内可用的操作。seccomp() 系统调用在调用进程的 seccomp 状态下运行。可以使用此功能来限制你的应用程序的访问权限。只有在使用 seccomp 构建 Docker 并且内核配置了 CONFIG_SECCOMP 的情况下,此功能才可用。要检查你的内核是否支持 se翻译 2018-03-17 23:04:20 · 5611 阅读 · 0 评论 -
在 Docker 上开发应用 - 管理镜像
原文地址要使你的镜像可以被其他人使用,最简单的办法是使用 Docker Registry,比如 Docker Hub、Docker Trusted Registry,或者运行你自己的私有 registry。1. Docker HubDocker Hub 是一个由 Docker 公司管理的公共的注册处。它集中了有关组织、用户帐户和镜像的信息。它包括 Web UI,使用组织的身份验证和授权,使用类似翻译 2018-02-25 16:40:05 · 245 阅读 · 0 评论 -
Docker 配置网络 - 网络概述
原文地址Docker 容器和服务如此强大的原因之一是可以将它们连接到一起,或将它们连接到非 Docker 工作负载。Docker 容器和服务甚至都不需要知道它们是否部署在 Docker 上,或者它们的对等端是否也是 Docker 工作负载。无论你的 Docker 主机运行的是 Linux、Windows 还是两者都有,都可以使用 Docker 以平台无关的方式管理它们。本主题定义了一些基本的 Doc翻译 2018-02-25 18:02:15 · 554 阅读 · 0 评论 -
Docker 配置网络 - 使用 bridge 网络
原文地址就网络而言,桥接网络(bridge network,也叫网桥)是一种链路层设备,用于转发网段之间的流量。 bridge 可以是硬件设备或在主机内核中运行的软件设备。对 Docker 而言,桥接网络使用允许容器连接到同一个桥接网络来通信的软件网桥,同时提供与未连接到该桥接网络的容器的隔离。Docker bridge 驱动程序自动在主机中安装规则使不同桥接网络上的容器不能直接相互通信。桥接网络用翻译 2018-02-25 22:14:00 · 6902 阅读 · 0 评论 -
Docker 生产环境之安全性 - 使用用户命名空间隔离容器
原文地址Linux 命名空间为运行中的进程提供了隔离,限制他们对系统资源的访问,而进程没有意识到这些限制。有关 Linux 命名空间的更多信息,请参阅 Linux 命名空间。防止容器内的特权升级攻击的最佳方法是将容器的应用程序配置为作为非特权用户运行。对于其进程必须作为容器中的 root 用户运行的容器,可以将此用户重新映射到 Docker 主机上权限较低的用户。映射的用户被分配了一系列 UID,这翻译 2018-03-18 11:35:06 · 4032 阅读 · 2 评论 -
Docker 生产环境之使用可信镜像 - 自动化内容信任(content trust)
原文地址获取并构建镜像的自动化系统也可以使用内容信任。任何自动化环境都必须在处理镜像前手动或通过脚本方式设置 DOCKER_CONTENT_TRUST。1. 绕过密码请求要允许工具打包 docker 并推送可信内容,有两个环境变量允许你提供不需要脚本的密码,或者直接输入密码到:DOCKER_CONTENT_TRUST_ROOT_PASSPHRASEDOCKER_CONTENT_TRUST_REP翻译 2018-03-18 15:30:43 · 1707 阅读 · 0 评论 -
Docker 生产环境之使用可信镜像 - 内容信任(content trust)的委派 delegation
原文地址Docker Engine 支持使用 targets/releases delegation (委托,授权)作为可信镜像标记的规范来源。使用此 delegation 可让你与其他发布者协作,而不共享你仓库密钥,这是你的 targets 和 snapshot 密钥的组合。有关更多信息,请参阅 管理内容信任的密钥。合作者可以保留自己的 delegation 密钥。targets/releases翻译 2018-03-18 16:24:11 · 1072 阅读 · 0 评论 -
Docker 生产环境之使用可信镜像 - 用 compose 部署 Notary 服务器
原文地址部署 Notary 服务器的最简单方法是使用 Docker Compose。要按照此页面上的过程,你必须已经安装了 Docker Compose。Clone Notary 仓库git clone git@github.com:docker/notary.git用简单证书构建并启动 Notary 服务器docker-compose up -d有关如何部署 Notary 服务器的详细文档,请参阅翻译 2018-03-18 16:34:05 · 1343 阅读 · 0 评论 -
Docker 产品手册之 Docker Hub - Docker Hub 上的仓库
原文地址Docker Hub 仓库允许你与同事,客户或整个 Docker 社区共享镜像。如果你在内部构建镜像,无论是在你自己的 Docker 守护进程中还是使用自己的持续集成服务,都可以将它们推送到你添加到 Docker Hub 用户或组织帐户中的 Docker Hub 仓库。或者,如果 Docker 镜像的源代码位于 GitHub 或 Bitbucket 上,则可以使用由 Docker ...翻译 2018-03-19 20:40:12 · 2110 阅读 · 0 评论 -
Docker 产品手册之 Docker Hub - 自动构建
原文地址可以从存储在仓库中的构建上下文中自动构建镜像。构建上下文是 Dockerfile 和特定位置的任何文件。对于自动构建,构建上下文是包含 Dockerfile 的存储库。自动构建有几个优点:以这种方式构建的镜像完全符合期望可以访问 Docker Hub 仓库的任何人都可以使用 Dockerfile。代码变化后仓库会自动更新。GitHub 和 Bitbucket 上的公...翻译 2018-03-19 23:18:54 · 1333 阅读 · 0 评论 -
Docker Compose - 在生产环境中使用 Compose
原文地址在开发环境中使用 Compose 定义应用程序时,可以使用此定义在不同环境中运行应用程序,如 CI,staging 和生产环境。部署应用程序的最简单方法是在单个服务器上运行它,这与运行开发环境的方式类似。如果要扩展应用程序,可以在 Swarm 群集上运行 Compose 应用程序。1. 为生产环境修改 Compose 文件可能需要对应用配置进行更改,以便为生产做好准备。这些...翻译 2018-03-31 20:07:21 · 2080 阅读 · 0 评论 -
Docker Compose - 控制 Compose 中的启动顺序
原文地址可以通过 depends_on 选项控制服务的启动顺序。Compose 总是按照依赖顺序启动容器,依赖由 depends_on、links、volumes_from 和 network_mode: "service:..." 决定。但是,Compose 不会等到容器“准备就绪”(无论对于特定应用程序而言是什么意思) - 直到它运行(Compose does not wait unt...翻译 2018-03-31 20:21:56 · 6104 阅读 · 0 评论 -
Docker 踩坑
1. kernel:unregister_netdevice:...kernel:unregister_netdevice: waiting for lo to become free. Usage count = 1 这是个从 2014 年就出现了的老 BUG,不管是 RHEL、CentOS、Ubuntu 还是 Debian 都会碰到。这实际上是 Linux 内核的一个 BUG,目前仍未彻...原创 2018-03-27 18:14:58 · 8337 阅读 · 0 评论 -
Docker 开源项目之 registry - 使用通知 notification
原文地址Registry 支持发送 webhook 通知以响应 registry 中发生的事件。通知是为了响应 push 和 pull 以及对 layer 的 push 这些事件而发送的。这些操作被串行化成事件。这些事件排队到 registry 内部的广播系统,该系统将事件排入队列并将事件分派到 端点。1. 端点 Endpoint通知通过 HTTP 请求发送到端点。每个配置过的端点...翻译 2018-03-27 22:32:02 · 1596 阅读 · 0 评论 -
Docker Compose - 概述
原文地址 最新版的 Compose 文件的手册 参考这里。Compose 是定义和运行多容器 Docker 应用程序的工具。使用 Compose 时可以通过 YAML 文件来配置应用程序的服务。然后,使用单个命令就可以创建并启动配置中的所有服务。要详细了解 Compose 的所有功能,请参阅下面第一小节 - 特性。Compose 适用于所有环境:production,stagi...翻译 2018-03-28 22:22:24 · 759 阅读 · 0 评论 -
Docker Compose - 安装
原文地址Compose 可以安装在 macOS、Windows 或 64 位的 Linux 上。1. 先决条件Docker Compose 依赖 Docker Engine 才能正常工作,因此请确保已根据你的设置安装了本地或远程 Docker Engine。在 Docker for Mac 和 Windows 等桌面系统上,Docker Compose 作为桌面安装的一部分。在 ...翻译 2018-03-28 22:47:10 · 1913 阅读 · 0 评论 -
采用容器安装 Jenkins 的踩坑记录(基于 Centos7)
为了方便管理容器的启动命令,统一使用 docker-compose 命令配合 docker-compose.yml 文件启动容器。基本使用可以 参考这里。关于如何在 Docker 中安装 Jenkins,参考这里。如果只是想看最终的 docker-compose.yml 文件,直接跳到最后一部分。我的 CentOS7 的内核已经升级为 4.15,版本详情如下:# uname -...原创 2018-04-04 20:49:30 · 8862 阅读 · 2 评论 -
Harbor - 私有企业级 Docker 镜像仓库
GitHub 地址 容器镜像服务 Docker镜像的基本使用 Docker:企业级私有镜像仓库Harbor使用Harbor 是基于 Docker Registry 的企业级镜像仓库,安装后的使用方法类似 Docker Hub,可以通过 web 页面操作。1. 安装 Harbor本文使用的 Linux 版本是 CentOS7,Harbor 版本是 v1.4.0。前提条件...原创 2018-04-12 22:01:15 · 1262 阅读 · 0 评论 -
ELK 日志系统入门及通过 Docker 部署
1. ELK 系统是什么ELK 是一套日志中心解决方案,其三个字母分别表示:Elasticsearch:负责日志存储及检索Logstash:负责日志收集、过滤及格式化Kibana:数据看板,负责日志展示及数据可视化Elasticsearch 是自带搜索引擎的数据库。2. ELK 系统常见用途1. 网络监控可以用来监控网络设备。2. 应用监控实时监控业...原创 2018-04-12 23:23:34 · 2081 阅读 · 0 评论 -
Docker Compose - Compose 中的网络
原文地址 https://docs.docker.com 注意:只有在使用 Compose 的版本 2 或更高版本时,本文才适用。网络功能不支持版本1(传统)的 Compose 文件。默认情况下,Compose 会为你的应用程序设置一个 网络。服务的每个容器都加入默认网络,并且该网络上的其他容器都可以访问它们,并且可以通过与容器名称相同的主机名来发现它们。 注意:根据“pr...翻译 2018-03-31 19:47:59 · 4928 阅读 · 0 评论 -
Docker 开源项目之 registry - 配置 registry
原文地址Registry 的配置基于 YAML 文件,下面会详细描述。虽然它带有默认值,但你应该在将系统移至生产环境之前进行详尽的检查。1. 覆盖特定的配置选项在从官方镜像运行 registry 的典型设置中,可以通过将 -e 参数传递环境变量到 docker run 或使用 ENV 指令从 Dockerfile 中指定一个配置变量。要覆盖配置选项,请创建一个名为 REGISTRY...翻译 2018-03-25 23:18:01 · 13130 阅读 · 0 评论 -
Docker Compose - 共享在文件和项目之间组合配置
原文地址 https://docs.docker.comCompose 支持两种方式共享配置:使用多个 Compose 文件扩展整个 Compose 文件使用 extends 字段扩展单个服务1. 多个 Compose 文件使用多个 Compose 文件可以为不同的环境或不同的工作流自定义 Compose 应用程序。1.1 理解多个 Compose 文件默认情况下,...翻译 2018-03-31 13:00:23 · 4379 阅读 · 0 评论 -
Docker 开源项目之 registry - 关于 registry
原文地址registry 是一个存储和内容交付系统,拥有经过命名的、可以使用不同标签版本的 Docker 镜像。 示例:distribution/registry 镜像,标签为 2.0 和 2.1。用户通过使用 docker push 和 pull 命令与 registry 进行交互。 例如:docker pull registry-1.docker.io/distrib...翻译 2018-03-23 21:57:22 · 447 阅读 · 0 评论 -
Docker Compose - 开始使用
原文地址在此页面上,你将构建一个在 Docker Compose 上运行的简单 Python Web 应用程序。该应用程序使用 Flask 框架并在 Redis 中维护一个计数器。虽然示例使用 Python,但即使你不熟悉这些概念,此处的演示也应该可以理解。1. 先决条件确保已经安装了 Docker Engine 和 Docker Compose。Python 和 Redis 可以由 Docker翻译 2018-03-29 22:53:16 · 611 阅读 · 0 评论 -
Docker Compose - Compose 中可用的环境变量
原文地址Compose 的多个部分在某种情况下处理环境变量。本教程可以帮助你找到所需的信息。1. 替换Compose文件中的环境变量可以使用 shell 中的环境变量填充 Compose 文件中的值:web: image: "webapp:${TAG}"更多信息请参考 Compose 文件手册中的 Variable substitution 章节。2. 设置容器中的环境...翻译 2018-03-29 23:26:37 · 8817 阅读 · 0 评论 -
Docker 产品手册之 Docker Hub - 用于自动构建的 webhook
原文地址如果你在 Docker Hub 上有自动构建仓库,可以在仓库中发生某个事件时通过 Webhook 触发其他应用程序的动作。Docker Hub webhook 在镜像构建时,或者添加新标签到自动构建仓库时触发。在 https://hub.docker.com/r/<USERNAME>/<REPOSITORY>/~/settings/webhooks/ 配置 ...翻译 2018-03-20 21:03:27 · 1313 阅读 · 0 评论