Docker创建私有Registry

一、从github上下载registry镜像
[root@localhost ~]# docker pull registry
二、创建Docker Registry
[root@localhost ~]# docker run -d -v /home/registry:/var/lib/registry -p 5000:5000 --restart=always --privileged=true --name pirvi_registry registry

#参数说明:
-v 将仓库存放于容器内的/var/lib/registry目录下,指定本地目录挂载到容器
-p 5000:5000 端口映射
--restart=always 在容器退出时总是重启容器,主要应用在生产环境
--privileged=true 在Centos7中的安全模块selinux把权限禁掉了,参数给容器加特权,不加上传镜像会报权限错误OSError: [Errno 13] Permission denied: ‘/tmp/registry/repositories/liibrary’)或者(Received unexpected HTTP status: 500 Internal Server Error)错误
--name registry 指定容器的名称
三、创建镜像

1、镜像命名规范

地址/目录/镜像名称:版本


地址一般为 IP:PORT 形式

2、构建镜像
推荐使用DOCKERFILE

[root@localhost ~]# cat Dockerfile 
FROM centos 
MAINTAINER admin <admin@aliyun.com>
ENV TZ "Asia/Shanghai"
RUN rpm -ivh http://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm
EXPOSE 2000
CMD ['--help']

#构建
[root@localhost ~]# docker build -t 192.168.16.191:5000/test/mycentos:0.0.1 .
三、将镜像推送到私有仓库
[root@localhost ~]# docker push 192.168.16.191:5000/test/mycentos:0.0.1

在这里插入图片描述

将镜像删除后,从私有registry中pull

在这里插入图片描述

四、遇到的问题
Get https://192.168.16.191:5000/v1/_ping: http: server gave HTTP response to HTTPS client

解决方法:
1、首先在docker的主配置文件中添加

[root@localhost ~]# cat /etc/default/docker 
DOCKER_OPTS="--insecure-registry 192.168.16.191:5000"

2、其次修改 daemon.json 文件

[root@localhost ~]# cat /etc/docker/daemon.json 
{
"registry-mirrors": [
"https://2lqq34jg.mirror.aliyuncs.com",
"https://pee6w651.mirror.aliyuncs.com",
"https://registry.docker-cn.com",
"http://hub-mirror.c.163.com"
],
"dns": ["8.8.8.8","8.8.4.4"],
"insecure-registries":["192.168.16.191:5000"]
}

3、重启 docker 服务

[root@localhost ~]#  systemctl restart docker
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
创建一个私有Docker 镜像仓库,你可以使用 Docker RegistryDocker Registry 是一个开源的镜像存储和分发的服务器端应用程序,可以用于存储和管理 Docker 镜像。以下是创建私有 Docker Registry 的步骤: 1. 安装 Docker Registry:首先,你需要在服务器上安装 Docker Registry。你可以通过运行以下命令来获取官方的 Docker Registry 镜像: ``` docker pull registry ``` 2. 启动 Docker Registry:运行以下命令来启动 Docker Registry 容器: ``` docker run -d -p 5000:5000 --restart=always --name registry registry ``` 这将在本地的 5000 端口上启动 Docker Registry。 3. 配置 Docker 客户端:要使用私有Docker Registry,你需要配置 Docker 客户端来允许连接到私有 Registry。编辑 Docker 配置文件 `/etc/docker/daemon.json`(Linux)或 `%USERPROFILE%\.docker\config.json`(Windows),并添加以下内容: ``` { "insecure-registries": ["your-private-registry-domain:5000"] } ``` 将 `your-private-registry-domain` 替换为你的私有 Registry 的域名或 IP 地址。 4. 重启 Docker 服务:重启 Docker 服务以使配置更改生效。 ``` sudo systemctl restart docker # Linux ``` 5. 推送和拉取镜像:现在,你可以使用 `docker push` 命令将本地的镜像推送到私有 Registry,或使用 `docker pull` 命令从私有 Registry 拉取镜像。 ``` docker push your-private-registry-domain:5000/your-image:tag docker pull your-private-registry-domain:5000/your-image:tag ``` 将 `your-image` 替换为你的镜像名称,`tag` 替换为你的标签。 这样,你就可以创建和使用私有Docker 镜像仓库了。请记住,私有 Registry 的访问权限需要进行适当的配置和管理,以确保只有授权的用户可以访问。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值