docker学习笔记之——使用docker搭建私有docker仓库

22 篇文章 0 订阅
12 篇文章 1 订阅

一般情况下,docker服务采用的都是docker官方的仓库,但是由于官方仓库服务器在国外,网速往往会比较查,所以很多人回踩用国内的镜像加速,具体可查看我的另外一篇博客docker国内镜像加速查看具体操作,这里我要讲的是如何搭建自己的私有docker仓库。

目前,由于docker服务使得应用的部署变得非常简单高效,使用docker部署应用已经变得越来越热门,通过docker hup下发应用的方式可以非常快的实现应用的部署和迭代升级,但是在真实的生产环境中,很多企业尤其是金融类银行类的企业往往是不允许生产环境直接连接外网的,所以搭建一个自己docker仓库显得非常有必要。

使用官方的docker-registry镜像搭建docker私有仓库

  1. 下载对应的镜像
# docker pull registry
  1. 启动通过该镜像启动容器
# docker run -d -p 5000:5000 --restart=always --name registry registry
  1. 开通linux防火墙对应的端口
# firewall-cmd --add-port=5000/tcp --permanent
  1. 对本地的镜像打上标签并上传到仓库(这里的本地仓库相对与其他端就是远程仓库)
# docker tag <image-name>[:<tag>] 127.0.0.1:5000/<path>/<image-name>:<tag>
# docker push 127.0.0.1:5000/<path>/<image-name>:<tag>
  1. 在应用部署端配置/etc/docker/daemon.json文件
{
  "registry-mirrors": ["http://f1361db2.m.daocloud.io", "http://hub-mirror.c.163.com", "https://registry.docker-cn.com"],
  "insecure-registries": ["remote-ip:remote-port"]
}
  1. 重启docker
# systemctl restart docker
  1. 从远程仓库拉取对应的image
# docker pull <remote-ip>:<remote-port>/<path>/<image-name>[:<tag>]
  1. 查看拉取的docker镜像
# docker image ls

使用harbor搭建私有仓库

安装harbor前需要安装docker-compose,安装方式很简单,直接下载对应的文件放到/usr/local/bin目录下并赋予执行权限即可。
# curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# chmod +x /usr/local/bin/docker-compose

或者可以直接去官网或者在CSDN资源下载对应的compose文件,并将其上传到/usr/local/bin目录下,并使用chmod +x /usr/local/bin/docker-compose赋予其可执行权限即可。

正式安装harbor之前需要将selinux设置为permissive或者disabled,具体步骤可参考一下链接:

CentOS7关闭selinux

在githup或者CSDN资源池下载对应的harbor安装包harbor-offline-installer-v1.8.2.tgz,使用tar -zxvf harbor-offline-installer-v1.8.2.tgz解压,进入harbor目录,并且编辑配置文件,将harbor.yml文件终端的hostname属性设置为本地的ip或者域名,
hostname: www.example.com

执行安装程序:

# ./install
添加防火墙策略开通80或者443端口
# firewall-cmd --add-port=80/tcp --permanent

将本地镜像上传到远程harbor服务器

打tag
# docker tag <image-name>:<tag> <remote-ip|remote-host>/<path>/<image-name>:<tag>
登录远程仓库
# docker login <remote-ip|remote-port>
# 输入对应的用户名和密码(默认的harbor用户名为"admin",密码为"Harbor12345"
...
上传镜像到远程仓库
# dcoker push <remote-ip| remote-host>/<path>/<image-name>:<tag>
使用浏览器登录仓库所在服务器查看镜像是否上传成功

在这里插入图片描述

从远程仓库下载对应的镜像,若该仓库为http协议不是https,需要将该仓库ip或域名添加到daemon.json文件的insecure-registries属性中
{
  "registry-mirrors": ["http://f1361db2.m.daocloud.io", "http://hub-mirror.c.163.com", "https://registry.docker-cn.com"],
  "insecure-registries": ["remote-ip | remote-host"]
}
登录远程仓库
# docker login <remote-ip | remote-host >
拉取远程镜像
# docker pull <path>/<image-name>:<tag>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值