Docker(七)上传镜像到dockerhub及普通、企业级私有仓库搭建

1.自己制作的镜像上传到docker hub

一般不会这么使用,写下的目的只为拓宽知识点。

# 需要在docker hub中注册后登录,可能需要验证邮箱后才能看到上传的镜像
1.登录
docker login
输入用户名 密码

2.给要上传的iamge打个标签
docker tag 镜像名称/镜像id dockerhub用户名/上传镜像名称:tag(标签)
docker tag django2.2.2 164927551/django:v1    
docker images

3.推送到远程
docker push 164927551/django:v1

4.拉取自己的docker镜像
docker pull 164927551/django:v1

在这里插入图片描述

2.制作普通私有仓库


1.拉取私有仓库镜像

docker pull registry

2.启动容器

docker run -di --name=registry -p 5000:5000 registry

3.访问仓库

10.0.0.100:5000/v2/_catalog
    
# 浏览器中显示{"repositories":[]}表示私有仓库搭建成功并且内容为空。    

4.修改deamon.json

# 此步骤用于让docker新人私有仓库地址

vim /etc/docker/daemon.json

{"insecure-registries":["10.0.0.100:5000"]}

5.重启docker服务

systemctl restart docker

6.启动私有仓库容器

docker start registry

7.给镜像添加标签

docker tag django_2.2.2:latest 10.0.0.100:5000/django

8.上传到私有仓库

docker push 10.0.0.100:5000/django

9.私有仓库拉取镜像

docker pull 10.0.0.100:5000/django


3. 带basic认证的仓库


1.安装加密工具

yum install httpd-tools  -y

2.设置认证密码

mkdir /opt/registry-var/auth/ -p
htpasswd \-Bbn zyc 123456  > /opt/registry-var/auth/htpasswd

3.启动容器

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

4.使用验证用户测试

docker login
# 输入用户名密码登录

# web端访问,需要登录
10.0.0.100:5000

5.给镜像添加标签

docker tag django_2.2.2:latest 10.0.0.100:5000/django

6.上传到仓库

docker push 10.0.0.100:5000/django

7.私有仓库拉取镜像

docker pull 10.0.0.100:5000/django


4.Centos7内网搭建Harbor企业级仓库


4.1 介绍

以上搭建的仓库属于docker官方提供的私有仓库registry,Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,通过添加一些企业必需的功能特性,例如安全、标识和管理等,扩展了开源Docker Distribution。作为一个企业级私有Registry服务器,Harbor提供了更好的性能和安全。提升用户使用Registry构建和运行环境传输镜像的效率。提供了更好的性能和安全;目前项目在GitHub维护点我直达

4.2 安装

前提:需要linux安装docker和docker-compose!

1.下载Horbar安装包

# 此处下载使用2.4版本
wget https://github.com/goharbor/harbor/releases/download/v2.4.2/harbor-offline-installer-v2.4.2.tgz

2.解压并进入目录,创建持久化目录

# 解压
tar -zxf harbor-offline-installer-v2.4.2.tgz

cd harbor

# 创建持久化目录
mkdir data

3.修改配置文件

因为只使用内网进行连接,所有只有修改极少的配置即可,官方提示有外网访问为了安全建议使用https并安装证书使用。

By default, Harbor does not ship with certificates. It is possible to deploy Harbor without security, so that you can connect to it over HTTP. However, using HTTP is acceptable only in air-gapped test or development environments that do not have a connection to the external internet. Using HTTP in environments that are not air-gapped exposes you to man-in-the-middle attacks. In production environments, always use HTTPS. If you enable Content Trust with Notary to properly sign all images, you must use HTTPS.

cp harbor.yml.tmpl harbor.yml
# 配置文件中配置项较多,只修改https hostname和data_volume即可
vim harbor.yml
# 修改以下内容
hostname:10.0.0.100
data_volume:/home/harbor/data/	# 修改为持久化目录

# https中的内容全部注释掉
# https:
  # https port for harbor, default is 443
  # port: 443
  # The path of cert and key files for nginx
  # certificate: /your/certificate/path
  # private_key: /your/private/key/path

4. 修改deamon.json

vim /etc/docker/daemon.json

{"insecure-registries":["10.0.0.100"]}

5.安装并启动Harbor

./install.sh

等待片刻后,界面提示

✔ ----Harbor has been installed and started successfully.----

就ok了

6.访问
浏览器输入10.0.0.100输入默认账号密码(admin Harbor12345)登录,登录成功界面如图
在这里插入图片描述
宿主机登录

docker login 10.0.0.100
输入账号 密码即可

上传拉取镜像

在web端新建一个项目,按照需要更改后,点击确定

# 镜像添加标签
docker tag django_2.2.2:latest 10.0.0.100/django
# 上传到仓库
docker push 10.0.0.100/test/django
# 私有仓库拉取镜像
docker pull 10.0.0.100/test/django



后续会更新企业级镜像仓库外网仓库安装配置等,博文中书写不足的地方欢迎留言指正。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

呀儿呦丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值