搭建Docker私有仓库(自签名方式)

为了能集中管理我们创建好的镜像,方便部署服务,我们会创建私有的Docker仓库。通读了一遍官方文档,Docker为了确保安全使用TLS,需要CA认证,认证时间长的要钱啊,免费过期时间太短,还是用自签名比较简单。

准备环境

环境:两台Centos 7 虚拟机

  》服务器IP:10.57.220.244 ,作为Docker仓库使用

  》客户端IP:10.57.220.220 ,作为客户端来上传或拉取镜像

  》域名:lpxxn.com

两台机器上均已安装好Docker 版本为 17.03.0-ce

如果你和我一样没有用真域名,只需要在客户机上修改一下hosts文件

生成自签名证书

在服务器主机上生成自签名证书,创建一个文件夹用于存放证书  

mkdir -p certs

生成证书

openssl req -newkey rsa:4096 -nodes -sha256 -keyout certs/lpxxn.com.key -x509 -days 365 -out certs/lpxxn.com.crt

需要注意的是在填写的时候Common Name和你的域名是一至的。

ll certs文件夹就可以看到生成好的两个文件

运行仓库镜像,如果本地没有相应的镜像会从Docker服务器上下载,然后才启动,可以用docker ps命令查看是否已经有窗口在运行。

代码如下:

docker run -d -p 5000:5000 --restart=always --name registry_https -v `pwd`/certs:/home/certs -e REGISTRY_HTTP_TLS_CERTIFICATE=/home/certs/lpxxn.com.crt -e REGISTRY_HTTP_TLS_KEY=/home/certs/lpxxn.com.key registry:2

你也可以指定本机的目录保存上传好的docker镜像  

代码如下:

docker run -d -p 5000:5000 -v `pwd`/dockerregister:/var/lib/registry --restart=always --name registry_https -v `pwd`/certs:/home/certs -e REGISTRY_HTTP_TLS_CERTIFICATE=/home/certs/lpxxn.com.crt -e REGISTRY_HTTP_TLS_KEY=/home/certs/lpxxn.com.key registry:2

到这里服务器就启动好了,最后一步是把生成好的lpxxn.com.crt复制到客户端,你可以用自己的方式复制, 我用的scp先复制到/home/test目录下,再复制到/etc/pki/ca-trust/source/anchors目录下  

scp -r lpxxn.com.crt li@10.57.220.220:/home/test

配置客户端

把服务器端生成的的lpxxn.com.crt复制到客户端服务器的 /etc/pki/ca-trust/source/anchors目录下,ll查看 一下

更新证书,然后重新启动docker 。

update-ca-trust
service docker stop && service docker start

ok.使用curl查看一下仓库

curl https://lpxxn.com:5000/v2/_catalog

可以正常访问了。再使用docker命令上传下载试试

使用docker tag 标记本地的镜像centos:6为lpxxn.com:5000/centos6:1.0

push到仓库

执行push 命令  

docker push lpxxn.com:5000/centos6:1.0

查看仓库信息

使用curl 查看仓库有哪些镜像和版本

curl https://lpxxn.com:5000/v2/_catalog
curl https://lpxxn.com:5000/v2/centos6/tags/list

从仓库拉取镜像

先把本地的镜像删除

docker rmi lpxxn.com:5000/centos6:1.0
docker rmi centos:6

拉取然后run

docker pull lpxxn.com:5000/centos6:1.0

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Docker 搭建私有仓库(registry、harbor)

    为什么要弄私有仓库,大多是为了速度,我们再私有仓库中的push和pull的速度是特别快的. 利用registry快速搭建 https://hub.docker.com/_/registry/ Run a local registry: Quick Version $ docker run -d -p 5000:5000 --restart always --name registry registry:2 Now, use it from within Docker: $ docker pull

  • 从零搭建docker私有仓库的步骤

    实验环境: centos7 64位 ubuntu16.04 64位(用于测试私有仓库) 本文分为四个部分: 第一部分: 安装docker 第二部分: 镜像的操作 第三部分: 容器的操作 第四部分: 私有仓库的创建 第一部分: 安装docker # 通过yum源安装docker sudo yum -y install docker # 启动docker sudo systemctl start docker # 开机自启 sudo systemctl enable docker 第二部分: 镜像的

  • Docker Registry 私有仓库搭建详细步骤

    Docker  Registry 私有仓库搭建 官方已经提供了很多版本的 Linux 镜像,直接从官方仓库(Public Repositories)下载就可以了.如果考虑到安全性和速度,我们可能会想在自己局域网里架设一个私有仓库(Private Repositories)来放我们自己的镜像,Docker-Registry 正是我们需要的工具. 本次搭建 docker-registry server (dev) (v0.9.0) 添加docker用户和目录 为了安全起见,我们可以添加一个用户doc

  • 详解Docker私有仓库最简便的搭建方法

    Doker 在业界的应用越来越广泛,怎么用户管理好自己的镜像.容器等就是一个迫在眉睫的任务. 由于业务需要,我们需要在搭建一套自己的 Docker 私有镜像仓库,网上找了很多,都是说要 pull 一个 regisitry 镜像,然后通过这个镜像启动一个容器来运行仓库应用,我按照官网的说明 pull 了一个 registry ,但是启动的时候有报错,具体是什么就不细说了,反正是有错,于是开始研究别的方法,别说还真找到了一个,而且是我发现的最简便的办法,我不知道我是不是国内第一个发现的,但我应该是第

  • 详解Docker私有仓库Registry的搭建验证

    1. 关于Registry 官方的Docker hub是一个用于管理公共镜像的好地方,我们可以在上面找到我们想要的镜像,也可以把我们自己的镜像推送上去.但是,有时候,我们的使用场景需要我们拥有一个私有的镜像仓库用于管理我们自己的镜像.这个可以通过开源软件Registry来达成目的. Registry在github上有两份代码:老代码库和新代码库.老代码是采用python编写的,存在pull和push的性能问题,出到0.9.1版本之后就标志为deprecated,不再继续开发.从2.0版本开始就到

  • docker私有仓库的搭建和使用详解

    1.下载仓库镜像 docker pull registry 2.创建私有仓库容器-d表示后台启动 docker run -d -p 5000:5000 -v /opt/data/registry:/var/lib/registry registry 3.防火墙解除5000端口限制 firewall-cmd --zone=public --add-port=5000/tcp --permanent 4.验证私有仓库是否启动成功 http://192.3.8.12:5000/v2 5.打包镜像 do

  • Docker搭建本地私有仓库的详细步骤

    和Mavan的管理一样,Dockers不仅提供了一个中央仓库,同时也允许我们使用registry搭建本地私有仓库.使用私有仓库有许多优点: 一.节省网络带宽,针对于每个镜像不用每个人都去中央仓库上面去下载,只需要从私有仓库中下载即可: 二.提供镜像资源利用,针对于公司内部使用的镜像,推送到本地的私有仓库中,以供公司内部相关人员使用. 接下来我们就大致说一下如何在本地搭建私有仓库. 环境准备 环境:两个装有Docker的Ubuntu虚拟机 虚拟机一:192.168.112.132 用户开发机 虚拟

  • 详解Ubuntu Docker Registry 搭建私有仓库

    服务器版本 Ubuntu 16.04 LTS. 安装命令: 复制代码 代码如下: $ docker run -d -v /opt/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry Registry 服务默认会将镜像保存在/var/lib/registry目录下,上面命令设置保存目录在/opt/registry下,我们可以看下 Registry 容器状态: $ docker ps CO

  • 搭建Docker私有仓库(自签名方式)

    为了能集中管理我们创建好的镜像,方便部署服务,我们会创建私有的Docker仓库.通读了一遍官方文档,Docker为了确保安全使用TLS,需要CA认证,认证时间长的要钱啊,免费过期时间太短,还是用自签名比较简单. 准备环境 环境:两台Centos 7 虚拟机 >服务器IP:10.57.220.244 ,作为Docker仓库使用 >客户端IP:10.57.220.220 ,作为客户端来上传或拉取镜像 >域名:lpxxn.com 两台机器上均已安装好Docker 版本为 17.03.0-ce

  • Harbor搭建Docker私有仓库的实现方法

    1 开源的仓库管理工具Harbor Harbor是一个由CNCF托管的开源的Docker镜像仓库管理工具,我们可以通过它快速的建立起自己的私有仓库.当然,搭建私有仓库的选择很多,如Docker官方提供的registry镜像或者Nexus等.但Harbor不失为一种不错的选择. 2 安装 Harbor的安装方式也很多,如通过命令行安装.Helm安装等,本文演示通过命令行的脚本安装. 2.1 安装Docker和Docker-compose 首先Docker是要安装的,Harbor是通过一堆容器来启动

  • 一文教会你如何高效地搭建Docker私有仓库

    目录 前言 1. 私有仓库 2. 搭建私有仓库 环境部署 自建仓库 3. 使用 TLS 证书 生成证书 基本身份验证 4. Nginx 反向代理仓库 5. 可视化私有仓库 总结 前言 Docker 仓库用于保存 Docker 镜像,分为公有仓库与私有仓库. 公有仓库就是 Docker Hub 一类供所有 Docker 用户使用的 Docker 仓库. 私有仓库是指由个人或企业搭建的 Docker 仓库,供其自身使用,是非公开的. 本篇文章将对 Docker 私有仓库及其相关内容进行详解. 1.

  • docker-compose快速搭建docker私有仓库的步骤

    创建docker-compose.yml并填入如下内容 version: '3' services: registry: restart: always image: registry:2 ports: - 5000:5000 environment: REGISTRY_HTTP_TLS_CERTIFICATE: /certs/registry.crt REGISTRY_HTTP_TLS_KEY: /certs/registry.key REGISTRY_AUTH: htpasswd REGIS

  • 如何搭建配置Docker私有仓库的实现步骤

    目录 前言 ️ 1.Docker容器三要素 ️ 2.本地私有仓库搭建 2.1 拉取私有仓库镜像 2.2 启动私有仓库容器 2.3 设置信任 2.4 上传本地镜像 2.5 重新拉取镜像 ️ 3.网络私有仓库搭建 3.1 选择实例 3.2 创建命名空间 3.3 创建镜像仓库 3.4 上传镜像 3.5 镜像日常维护管理 前言 搭建docker私有仓库,可以实现一个镜像,多次使用,镜像下载速度快等好处 ️ 1.Docker容器三要素 Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Ap

  • CentOS7.2服务器上搭建Docker私有镜像仓库操作示例

    本文实例讲述了CentOS7.2服务器上搭建Docker私有镜像仓库操作.分享给大家供大家参考,具体如下: 鉴于国内pull镜像的速度较慢,很有必要搭建docker私有或者本地镜像仓库. 安装docker # yum -y install docker # systemctl start docker && systemctl enable docker 使用自签名进行安全认证 创建存放证书和密钥的certs目录 # mkdir -p /docker/certs # chcon -Rt s

  • 利用Docker搭建Nexus私有仓库实现Maven私服

    目录 一.前言 二.Nexus搭建 三.配置仓库 3.1 配置加速库 3.2 创建私有仓库 四.配置权限 五.上传Jar包 六.使用Jar包 一.前言 相信国内的小伙伴都经历过,Gradle.Maven.NPM下拉速度过慢的情况.我们一般的做法是配置阿里云这样的中央仓库.加速问题是可以采用这种方式解决,但如果是团队内部的库想进行上传分发,传到Maven Central这种共用的Maven仓库就不太合适了.那样保密性和时效性都将收到破坏.所以在团队内部,我们一般都会搭建局域网内私有的中央仓库.支撑

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

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

随机推荐