【Docker构建私有仓库】

Docker默认不允许非HTTPS方式推送镜像,我们可以通过Docker的配置选项来取消此限制:

[[email protected] ~]# cat /etc/docker/daemon.json
{
  "registry-mirrors": ["http://95822026.m.daocloud.io"],
  "insecure-registries": ["192.168.43.174:5000"]
}
# ??这是Json格式

将上面的文件写入到docker服务配置文件中的[Service]配置项下:

[[email protected] ~]# grep ‘EnvironmentFile=/etc/docker/daemon.json‘ /lib/systemd/system/docker.service
EnvironmentFile=/etc/docker/daemon.json

完事后重新载入systemd并重启docker:

[[email protected] ~]# systemctl daemon-reload
[[email protected] ~]# systemctl restart docker

下面的步骤将构建一个私有仓库

下载官方提供的私用仓库镜像,和一个用于测试的镜像:

# 下载私用仓库镜像
[[email protected] ~]# docker pull registry

# 下载用于测试的镜像
[[email protected] ~]# docker pull hello-world

下载完成后,启动私有仓库registry容器:

# 私有仓库会被创建在容器的/var/lib/registry目录下
# 可通过-v参数将宿主机的目录挂载到容器中的目录,这样便可在宿主机中查看镜像文件
[[email protected] ~]# docker run -d -p 5000:5000 -v /opt/data/registry:/var/lib/registry registry

测试连通性:

[[email protected] ~]# telnet localhost 5000

连通后,开始修改用于测试的镜像:

# 修改tag,以docker registry的地址端口开头
[[email protected] ~]# docker tag hello-world:latest 192.168.43.174:5000/hello-world:latest

推送本地镜像至私有仓库:

[[email protected] ~]# docker push 192.168.43.174:5000/hello-world

推送后,查询仓库:

[[email protected] ~]# curl http://192.168.43.174:5000/v2/_catalog
{"repositories":["hello-world"]}  # 可见,我们的hello-world镜像上传成功了

下载私有仓库中的镜像:

# 先将本地的测试镜像删除了
# 因为上面修改过测试镜像的tag,所以本地会有两个相同ID的镜像,这里我们指定镜像ID删除
[[email protected] ~]# docker rmi -f 4ab4c602aa5e

# 删除后,再下载仓库中的镜像
[[email protected] ~]# docker pull 192.168.43.174:5000/hello-world

ok,到这里就结束了.

原文地址:https://www.cnblogs.com/zyk01/p/10176554.html

时间: 2024-10-09 03:56:36

【Docker构建私有仓库】的相关文章

【Docker构建私有仓库】 -- 2019-08-16 13:04:42

原文: http://blog.gqylpy.com/gqy/331 "> Docker默认不允许非HTTPS方式推送镜像,我们可以通过Docker的配置选项来取消此限制: [[email protected] ~]# cat /etc/docker/daemon.json { "registry-mirrors": ["http://95822026.m.daocloud.io"], "insecure-registries":

Docker 构建私有镜像仓库(6)

title: Docker 构建私有镜像仓库(6) date: 2018-12-18 08:47:27 tags: Docker categories: Docker copyright: true --- Docker是基于Go语言实现的开源容器项目,Docker让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何接口,Docker诞生于2013年年初,最初发起者是dotCloud公司.

docker创建私有仓库

1.查看远程仓库中的列表$ sudo docker search registry    //会列出你所需要的仓库 2.获取registry仓库$ sudo docker pull registry   //最新 3.运行 $ sudo docker run -p 5000:5000  docker.io/registry   //-p映射端口 3.1查看容器运行情况[[email protected] docker]# docker psCONTAINER ID        IMAGE   

Docker的私有仓库

学习Docker的过程中Docker的私有仓库一直没能成功,就是因为CentOS 6.x和CentOS 7默认引入了支持https认证,每次在push和pull的时候都会报错,今天是周末,利用一天的时间反复测试和网上案列的整合,总算是成功了,也借此机会对学习Docker的朋友有所帮助. 个人的愚见:博友在练习的时候建议用CentOS 7.x系统,不建议用CentOS 6.x系统 一.准备 地址规划: Docker私有仓库地址:192.168.0.109 Docker客户端地址:192.168.0

docker 配置私有仓库、打开TCP管理端口

docker配置私有仓库.打开TCP管理端口 该机器主要用于jenkins在编译打包镜像时使用.需要能push镜像到私有仓库,需要开通tcp管理端口作为docker远程机器. 安装docker # vi /etc/resolv.conf nameserver 114.114.114.114 # yum update # yum install -y yum-utils device-mapper-persistent-data lvm2 # yum-config-manager --add-re

Docker 之 私有仓库registry

摘要: 1.拉去 registry镜像,例如在daocloud.io/registry这个私有镜像仓库 docker pull daocloud.io/registry 2.运行容器,挂在镜像内docker镜像仓库/var/lib/registry 至本地/root/my_docker_registry 1.拉去 registry镜像,例如在daocloud.io/registry这个私有镜像仓库 docker pull daocloud.io/registry 2.运行容器,挂在镜像内dock

Docker 搭建私有仓库

搭建私有仓库 首先在136机器上下载registry镜像 $ sudo docker pull registry 下载完之后我们通过该镜像启动一个容器 $ sudo docker run -d -p 5000:5000 registry 默认情况下,会将仓库存放于容器内的/tmp/registry目录下,这样如果容器被删除,则存放于容器中的镜像也会丢失,所以我们一般情况下会指定本地一个目录挂载到容器内的/tmp/registry下,如下: $ sudo docker run -d -p 5000

CentOS7基于Nginx和Registry2.0搭建Docker安全私有仓库

作用:Nginx做反向代理,在访问私有仓库时加个密码验证,密码用htpasswd生成 IP:192.168.0.227 1.下载registry2.0镜像 docker pull  registry:2.1.1 2.安装Nginx yum  -y install nginx 3.创建docker仓库数据和配置目录 sudo mkdir -p /opt/docker/registry/data sudo mkdir -p /opt/docker/registry/conf 4.运行docker仓库

Docker本地私有仓库的建立

环境: 192.168.139.26 docker的客户端 192.168.139.52 docker的服务器端(仓库所在位置) 首先在192.168.139.52上下载registry镜像 [email protected]:~$ sudo docker pull registry 下面操作在192.168.139.52完成 默认情况下会将仓库存放于容器内的/tmp/registry目录下,这样如果容器被删除,则存放于容器中的镜像也会丢失,所以我们一般情况下会指定本地一个目录挂载到容器内的/t