使用 Docker 企业版搭建自己的私有注册服务器

Docker 真的很酷,特别是和使用虚拟机相比,转移 Docker 镜像十分容易。如果你已准备好使用 Docker,那你肯定已从 Docker Hub上拉取过完整的镜像。Docker Hub 是 Docker 的云端注册服务器服务,它包含成千上万个供选择的 Docker 镜像。如果你开发了自己的软件包并创建了自己的 Docker 镜像,那么你会想有自己私有的注册服务器。如果你有搭配着专有许可的镜像,或想为你的构建系统提供复杂的持续集成(CI)过程,则更应该拥有自己的私有注册服务器。

Docker 企业版包括 Docker 可信注册服务器Docker Trusted Registry(DTR)。这是一个具有安全镜像管理功能的高可用的注册服务器,为在你自己的数据中心或基于云端的架构上运行而构建。在接下来,我们将了解到 DTR 是提供安全、可重用且连续的软件供应链的一个关键组件。你可以通过我们的免费托管小样立即开始使用,或者通过下载安装进行 30 天的免费试用。下面是开始自己安装的步骤。

配置 Docker 企业版

DTR 运行于通用控制面板(UCP)之上,所以开始前要安装一个单节点集群。如果你已经有了自己的 UCP 集群,可以跳过这一步。在你的 docker 托管主机上,运行以下命令:

# 拉取并安装 UCP
docker run -it -rm -v /var/run/docker.sock:/var/run/docker.sock -name ucp docker/ucp:latest install

当 UCP 启动并运行后,在安装 DTR 之前你还有几件事要做。针对刚刚安装的 UCP 实例,打开浏览器。在日志输出的末尾应该有一个链接。如果你已经有了 Docker 企业版的许可证,那就在这个界面上输入它吧。如果你还没有,可以访问 Docker 商店获取 30 天的免费试用版。

准备好许可证后,你可能会需要改变一下 UCP 运行的端口。因为这是一个单节点集群,DTR 和 UCP 可能会以相同的端口运行它们的 web 服务。如果你拥有不只一个节点的 UCP 集群,这就不是问题,因为 DTR 会寻找有所需空闲端口的节点。在 UCP 中,点击“管理员设置 -> 集群配置”并修改控制器端口,比如 5443。

安装 DTR

我们要安装一个简单的、单节点的 DTR 实例。如果你要安装实际生产用途的 DTR,那么你会将其设置为高可用(HA)模式,即需要另一种存储介质,比如基于云端的对象存储或者 NFS(LCTT 译注:Network File System,网络文件系统)。因为目前安装的是一个单节点实例,我们依然使用默认的本地存储。

首先我们需要拉取 DTR 的 bootstrap 镜像。boostrap 镜像是一个微小的独立安装程序,包括了连接到 UCP 以及设置和启动 DTR 所需的所有容器、卷和逻辑网络。

使用命令:

# 拉取并运行 DTR 引导程序
docker run -it -rm docker/dtr:latest install -ucp-insecure-tls

注意:默认情况下,UCP 和 DTR 都有自己的证书,系统无法识别。如果你已使用系统信任的 TLS 证书设置 UCP,则可以省略 -ucp-insecure-tls 选项。另外,你可以使用 -ucp-ca 选项来直接指定 UCP 的 CA 证书。

然后 DTR bootstrap 镜像会让你确定几项设置,比如 UCP 安装的 URL 地址以及管理员的用户名和密码。从拉取所有的 DTR 镜像到设置全部完成,只需要一到两分钟的时间。

保证一切安全

一切都准备好后,就可以向注册服务器推送或者从中拉取镜像了。在做这一步之前,让我们设置 TLS 证书,以便与 DTR 安全地通信。

在 Linux 上,我们可以使用以下命令(只需确保更改了 DTR_HOSTNAME 变量,来正确映射我们刚刚设置的 DTR):

# 从 DTR 拉取 CA 证书(如果 curl 不可用,你可以使用 wget)
DTR_HOSTNAME=< DTR 主机名>
curl -k https://$(DTR_HOSTNAME)/ca > $(DTR_HOSTNAME).crt
sudo mkdir /etc/docker/certs.d/$(DTR_HOSTNAME)
sudo cp $(DTR_HOSTNAME) /etc/docker/certs.d/$(DTR_HOSTNAME)
# 重启 docker 守护进程(在 Ubuntu 14.04 上,使用 `sudo service docker restart` 命令)
sudo systemctl restart docker

对于 Mac 和 Windows 版的 Docker,我们会以不同的方式安装客户端。转入“设置 -> 守护进程”,在“不安全的注册服务器”部分,输入你的 DTR 主机名。点击“应用”,docker 守护进程应在重启后可以良好使用。

推送和拉取镜像

现在我们需要设置一个仓库来存放镜像。这和 Docker Hub 有一点不同,如果你做的 docker 推送仓库中不存在,它会自动创建一个。要创建一个仓库,在浏览器中打开 https://<Your DTR hostname> 并在出现登录提示时使用你的管理员凭据登录。如果你向 UCP 添加了许可证,则 DTR 会自动获取该许可证。如果没有,请现在确认上传你的许可证。

进入刚才的网页之后,点击“新建仓库”按钮来创建新的仓库。

我们会创建一个用于存储 Alpine linux 的仓库,所以在名字输入处键入 “alpine”,点击“保存”(在 DTR 2.5 及更高版本中叫“创建”)。

现在我们回到 shell 界面输入以下命令:

# 拉取 Alpine Linux 的最新版
docker pull alpine:latest
# 登入新的 DTR 实例
docker login <Your DTR hostname>
# 标记上 Alpine 使能推送其至你的 DTR
docker tag alpine:latest <Your DTR hostname>/admin/alpine:latest
# 向 DTR 推送镜像
docker push <Your DTR hostname>/admin/alpine:latest

就是这样!我们刚刚推送了最新的 Alpine Linux 的一份拷贝,重新打了标签以便将其存储到 DTR 中,并将其推送到我们的私有注册服务器。如果你想将镜像拉取至不同的 Docker 引擎中,按如上所示设置你的 DTR 证书,然后执行以下命令:

# 从 DTR 中拉取镜像
docker pull <Your DTR hostname>/admin/alpine:latest

DTR 具有许多优秀的镜像管理功能,例如镜像的缓存、映像、扫描、签名甚至自动化供应链策略。这些功能我们在后期的博客文章中更详细的探讨。

总结

以上所述是小编给大家介绍的使用 Docker 企业版搭建自己的私有注册服务器,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • ubuntu服务器上快速部署docker的方法

    最近在学习docker,今天学习了一下ubuntu服务器上快速部署docker,所以,今天添加一点小笔记. 安装curl sudo apt-get install curl 安装docker curl -sSL https://get.daocloud.io/docker | sh 添加非root用户到docker group(这里是ubuntu) sudo usermod -aG docker ubuntu 设置daocloud加速 step1 在www.daocloud.io上注册一个账户

  • docker容器跨服务器的迁移的方法

    docker的备份方式有export和save两种. export是当前的状态,针对的是容器,docker save 是针对镜像images. export 找出要备份容器的ID [root@wls12c ~]$ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS NAMES 037b847bf093 centos "/bin/bash" 3 minutes ago Exited (0) 2 minute naughty_dav

  • Centos7使用docker搭建gitlab服务器

    了解到docker的优点,搭建快,运行要求资源低,最重要的是实现的功能和效果都能达到预期,于是决定使用docker来搭建gitlab服务器. 效果图如下: 系统环境:CentOS Linux release 7.1.1503 (Core) git版本:/gitlab/gitlab-ce 一.安装和启动docker 安装:yum -y install docker 启动:systemctl start docker 开机启动:systemctl enable docker 二.拉取镜像文件 doc

  • 3分钟用Docker搭建一个Minecraft服务器

    1 写在前面的话 作为一名资深游戏玩家,初次接触Minecraft(我的世界)时我是拒绝的,但玩了一段时间之后便欲罢不能.Minecraft(以下简称MC)作为一款沙盒类游戏,具有极高的自由度,想玩什么完全取决于你.你可以进行传统的荒野求生,打怪升级,可以建造各种风格的建筑,可以成为红石达人,实现各种自动化等等.这是一款最典型的"别人的游戏",有大神在游戏里造了一个32位的计算机你能信?别人的世界,哦不,是我的世界就先介绍到这里. 言归正传,前段时间用网易蜂巢的容器搭了一个Minecr

  • Docker 1分钟搭建DNS服务器的方法

    这里我们使用dnsmasq对应的docker版本docker-dnsmasq. 使用指南 下载镜像 docker pull docker-dnsmasq 创建最简单的配置/opt/dnsmasq.conf #dnsmasq config, for a complete example, see: # http://oss.segetech.com/intra/srv/dnsmasq.conf #dns解析日志 log-queries #定义主机与IP映射 address=/h0/172.17.2

  • Docker安装运行apache2服务器做图片服务器的方法

     1.安装 docker pull httpd 2.创建文件夹 mkdir -p /usr/docker_data/statics / /usr/docker_data/httpd/logs/ /usr/docker_data/httpd/conf/ 解释:statics文件夹映射图片文件存放路径  logs映射日志文件路径  conf映射配置文件路径 3.试运行httpd docker run -it --name test-httpd httpd bash 4.进入conf文件夹把httpd

  • 使用 Docker 企业版搭建自己的私有注册服务器

    Docker 真的很酷,特别是和使用虚拟机相比,转移 Docker 镜像十分容易.如果你已准备好使用 Docker,那你肯定已从 Docker Hub上拉取过完整的镜像.Docker Hub 是 Docker 的云端注册服务器服务,它包含成千上万个供选择的 Docker 镜像.如果你开发了自己的软件包并创建了自己的 Docker 镜像,那么你会想有自己私有的注册服务器.如果你有搭配着专有许可的镜像,或想为你的构建系统提供复杂的持续集成(CI)过程,则更应该拥有自己的私有注册服务器. Docker

  • Docker容器搭建本地私有仓库详情

    目录 前言 一.首先下载registry镜像 二.在daemon.json文件中添加私有镜像仓库的地址并重启 三.创建registry容器并开放端口 四.给镜像打标签后上传到私有仓库 五.获取私有仓库列表查看是否上传成功 六.验证:从私有仓库下载镜像 前言 Docker 官方提供了一个搭建私有仓库的镜像 registry ,运行该镜像的容器并且对外暴露5000端口就ok了.通常我们在docker拉取的镜像都是在docker hub或quay.io等公有仓库获取,那么在实际工作中,每个公司如果使用

  • 使用sinopia 搭建私有npm服务器的教程

    简介 效果展示 使用 sinopia 的好处是,node系的工程师,内部协作时,使用自有 npm 包,会非常方便:另外,sinopia,会缓存已经下载过的包,可以在相当程度上,加速 npm install 相关命令的执行. 工作中,确实有需要用到 sinopia 来作为私有 npm 服务器的场景.原来一直在自己电脑上开启 sinopia.这样做最大的问题是,sinopia 后台一直开着,会越来越耗费资源,电脑最后会变得很卡.偶尔,还会因为忘记开启或关闭 sinopia,带来各种不便利. 今天我试

  • 一文教你如何通过 Docker 快速搭建各种测试环境

    今天给大家分享的主题是,如何通过 Docker 快速搭建各种测试环境,本文列举的,也是作者在工作中经常用到的,其中包括 MySQL.Redis.Elasticsearch.MongoDB 安装步骤,通过几行命令秒秒钟就能轻松搞定. 友情提示:搭建之前,你需要先安装 Docker 哟,本文基于您已经安装好 Docker 的基础上!如果你想和更多Docker技术专家交流,可以加我微信liyingjiese,备注『加群』.群里每周都有全球各大公司的最佳实践以及行业最新动态. 废话少说,正文开始! 一.

  • .NETCore Docker实现容器化与私有镜像仓库管理

    一.Docker介绍 Docker是用Go语言编写基于Linux操作系统的一些特性开发的,其提供了操作系统级别的抽象,是一种容器管理技术,它隔离了应用程序对基础架构(操作系统等)的依赖.相较于虚拟机而言,Docker共享的是宿主机的硬件资源,使用容器来提供独立的运行环境来运行应用.虚拟机则是基于Supervisor(虚拟机管理程序)使用虚拟化技术来提供隔离的虚拟机,在虚拟机的操作系统上提供运行环境!虽然两者都提供了很好的资源隔离,但很明显Docker的虚拟化开销更低! Docker涉及了三个核心

  • 群晖NAS利用Docker容器搭建KMS激活服务器实现激活windows系统和office(操作步骤)

    前言 Windows系统中能够通过KMS进行激活的一般称为VL版,即VOLUME授权版.我们可以自行搭建KMS激活服务器,实现每180天一次的自动激活,使得系统一直保持激活状态.这次就跟大家分享一下如何利用群晖NAS的Docker容器套件搭建KMS服务器,并演示如何利用我们自己的KMS服务器激活Windows操作系统与Microsoft Office. 操作步骤 先到套件中心安装Docker套件 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZCVBfkb9-15

  • 使用docker compose搭建consul集群环境的例子

    consul基本概念 server模式和client模式 server模式和client模式是consul节点的类型:client不是指的用户客户端. server模式提供数据持久化功能. client模式不提供持久化功能,并且实际上他也不工作,只是把用户客户端的请求转发到server模式的节点.所以可以把client模式的节点想象成LB(load balance),只负责请求转发. 通常server模式的节点需要配置成多个例如3个,5个.而client模式节点个数没有限制. server模式启

  • 如何使用 docker compose 搭建 fastDFS文件服务器

    上篇文章给大家介绍了使用docker compose安装FastDfs文件服务器的实例详解 今天给大家介绍如何使用 docker compose 搭建 fastDFS文件服务器,内容详情如下所示: 平台 :Mac M1 备注:关于 IP Address 关于 docker 的网络模式,上述文中提到了 docker 的 Host 模式: 如果启动容器的时候使用host模式,那么这个容器将不会获得一个独立的Network Namespace,而是和宿主机共用一个 Network Namespace.

  • kali安装docker及搭建漏洞环境的详细教程

    目录 前言: docker的简介 安装docker 1. 在kail环境下搭建docker,kali版本要在3.10以上,使用命令查看kali内核 2. 添加添加Docker官方的GPG密钥 3.,然后更新源 4. 然后导入证书 5.安装docker 6.检查安装是否成功 docker的简单使用 1. 启动docker 2. 查看镜像 3.搭建漏洞环境 前言: 言归正传,下面开始学习了.本文仅供学习参考,严禁用于一切违法行为,否则后果自负. docker的简介 Docker 是一个开源的应用容器

  • docker 环境搭建、docker 与容器常用指令大全

    目录 一.Docker 环境搭建 1. 准备工作(已有 Linux 环境可省略) 2. 安装 Docker 3. 设置 ustc 镜像 二.Docker/容器操作命令汇总 1. Docker 操作命令 2. 镜像相关命令 3. 查看容器 4. 创建容器 5. 停止与启动容器 6. 文件挂载 7. 目录挂载 8. 查看容器 IP 地址 9. 删除容器 一.Docker 环境搭建 1. 准备工作(已有 Linux 环境可省略) 在这里我们用 VM 虚拟机 + CentOS 的环境进行 Docker

随机推荐