Docker之私有仓库registry(一)

简介: Docker之私有仓库registry(一)

仓库(Repository)是集中存放镜像的地方,又分为公有仓库和私有仓库。

Docker Hub是Docker官方提供的最大的公共镜像仓库。

国内不少云服务商都提供了第三方镜像市场,如:腾讯云、网易云、阿里云等。

接下来讲的是用Docker部署私有仓库registry。

实验环境:

系统版本:centos7.4.1708

Docker版本:19.03.8

实验主机:

docker01:192.168.1.3

docker02:192.168.1.4(作为仓库)

使用Docker启动私有仓库registry:(docker02)

# docker run -d -p 5000:5000 \
> --restart=always \
> -v /opt/myregistry:/var/lib/registry \
> --name registry \
> registry
# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
fcd85446d866        registry            "/entrypoint.sh /etc…"   10 seconds ago      Up 9 seconds        0.0.0.0:5000->5000/tcp   registry
#以上各项参数说明:
-d:后台运行
-p 5000:5000:映射本地5000端口到容器的5000端口
--restart=always:docker重启时容器自动重启
-v /opt/myregistry:/var/lib/registry:挂在本地目录到容器目录
--name registry:设置容器别名

修改docker配置文件:(docker01)

# vim /etc/docker/daemon.json 
# cat /etc/docker/daemon.json 
{
  "registry-mirrors":["https://655dds7u.mirror.aliyuncs.com"],
  "insecure-registries":["192.168.1.4:5000"]
}
# systemctl restart docker

上传镜像测试:

# docker tag nginx:latest 192.168.1.4:5000/nginx:latest
# docker push 192.168.1.4:5000/nginx:latest
The push refers to repository [192.168.1.4:5000/nginx]
b3003aac411c: Pushed 
216cf33c0a28: Pushed 
c2adabaecedb: Pushed 
latest: digest: sha256:cccef6d6bdea671c394956e24b0d0c44cd82dbe83f543a47fdc790fadea48422 size: 948

给私有仓库做加密认证:(docker02)

# yum -y install httpd-tools
# mkdir -p /opt/registry-var/auth
# htpasswd -Bbn yyang 123123 >>/opt/registry-var/auth/htpasswd

删除之前的仓库:(docker02)

# docker stop 2d4fc1d56733
# docker rm 2d4fc1d56733

重新启动一个新容器:(docker02)

# docker run -d -p 5000:5000 -v /opt/registry-var/auth/:/auth/ -v /opt/myregistry:/var/lib/registry -e "REGISTRY_AUTH=htpasswd" -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" -e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd --name registry registry

上传镜像测试:(docker01)

# docker push 192.168.1.4:5000/nginx:latest 
The push refers to repository [192.168.1.4:5000/nginx]
b3003aac411c: Preparing 
216cf33c0a28: Preparing 
c2adabaecedb: Preparing 
no basic auth credentials
# docker login http://192.168.1.4:5000
Username: yyang
Password: 
# docker push 192.168.1.4:5000/ubuntu:latest 
The push refers to repository [192.168.1.4:5000/ubuntu]
8891751e0a17: Pushed 
2a19bd70fcd4: Pushed 
9e53fd489559: Pushed 
7789f1a3d4e9: Pushed 
latest: digest: sha256:5747316366b8cc9e3021cd7286f42b2d6d81e3d743e2ab571f55bcd5df788cc8 size: 1152

发现需要先登录仓库才能上传镜像,下载方式相同。

此实验到此为结束。

目录
相关文章
|
10天前
|
Java 应用服务中间件 Linux
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
本文主要讲解了Docker的安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库以及Docker容器虚拟化与传统虚拟机比较。
191 7
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
|
2月前
|
Docker 容器
Docker自建仓库之Harbor高可用部署实战篇
关于如何部署Harbor高可用性的实战教程,涵盖了从单机部署到镜像仓库同步的详细步骤。
134 15
Docker自建仓库之Harbor高可用部署实战篇
|
2月前
|
存储 Kubernetes Cloud Native
部署Kubernetes客户端和Docker私有仓库的步骤
这个指南涵盖了部署Kubernetes客户端和配置Docker私有仓库的基本步骤,是基于最新的实践和工具。根据具体的需求和环境,还可能需要额外的配置和调整。
85 1
|
1月前
|
网络协议 应用服务中间件 nginx
私有的docker私有镜像站仓库harbor
私有的docker私有镜像站仓库harbor
|
2月前
|
存储 测试技术 数据安全/隐私保护
Docker自建仓库之Harbor部署实战
关于如何部署和使用Harbor作为Docker企业级私有镜像仓库的详细教程。
540 12
|
2月前
|
Docker 容器
Docker Hub镜像公共仓库使用
这篇文章介绍了如何使用Docker Hub公共仓库进行镜像的创建、上传、下载和管理。
975 8
|
2月前
|
运维 数据安全/隐私保护 Docker
Docker自建仓库之Docker Registry部署实战
关于如何使用Docker Registry镜像搭建本地私有Docker仓库的实战教程,包括了下载镜像、创建授权目录和用户名密码、启动Registry容器、验证端口和容器、测试登录仓库、上传和下载镜像的详细步骤。
668 5
|
3月前
|
存储 Docker 容器
阿里云私有docker仓库构建海外镜像
【8月更文挑战第25天】
289 3
|
2月前
|
应用服务中间件 nginx 数据安全/隐私保护
使用Harbor搭建Docker私有仓库
Harbor是一款开源的企业级Docker仓库管理工具,分为私有与公有仓库两种类型,其中私有仓库被广泛应用于运维场景。Harbor提供图形化界面,便于直观操作,并且其核心组件均由容器构建而成,因此安装时需预先配置Docker及docker-compose。Harbor支持基于项目的用户与仓库管理,实现细粒度的权限控制;具备镜像复制、日志收集等功能,并可通过UI直接管理镜像,支持审计追踪。部署Harbor涉及配置文件调整、登录认证等步骤,并可通过客户端进行镜像的上传、拉取等操作。系统内置多种角色,包括受限访客、访客、开发者、维护人员及管理员,以满足不同场景下的使用需求。
120 0
|
3月前
|
安全 Linux 数据安全/隐私保护
详解如何登录Docker Registry
【8月更文挑战第24天】
279 0