代码编织梦想

1、docker私有仓库的搭建

       在 Docker 中,当我们执行 docker pull xxx 的时候,实际上是从 registry.hub.docker.com 这个地址去查找,这就是Docker公司为我们提供的公共仓库,上面的镜像,大家都可以看到,也可以使用。例如:docker pull registry.hub.docker.com/library/alpine。当然我们也可以搭建自己的私有仓库。

       搭建Docker私有仓库的方法有多种,如docker registry、nexus、harbor都可以搭建私有仓库。其中用docker命令拉取docker registry,将docker的仓库镜像拉取到本地,在本地构建一个docker仓库,这种方法要自己对仓库进行权限管理,没有图形化页面操作,命令操作比较繁琐,另外在dockertoolbox下搭建私有镜像库出现的问题比较多,建议还是安装linux系统进行搭建。nexus,harbor,docker-compose可以进行图形化页面仓库以及图形化权限管理,harbor也集成了mysql和log。下面以harbor和docker-compose为例。

 

2、所需环境

  • docker
  • docker-compose  :https://github.com/docker/compose/releases
  • openssl(可选): https授权证书。非生产环境可仅配置http。
  • harbor:

官方地址:https://github.com/goharbor/harbor/releases

官方说明文档:https://github.com/goharbor/harbor/blob/master/docs/installation_guide.md

证书文档:https://github.com/goharbor/harbor/blob/master/docs/configure_https.md

 

3、下载harbor并解压

下载tgz包并解压

tar zxf harbor-offline-installer-v1.9.1.tgz

其中harbor.yml就是配置文件

 

4、安装harbor

(1)修改hostname(主机)和port(端口)等

       该配置文件除了主机和端口还包括账号、密码、数据库等等的设置。

注:修改配置文件后重启:

docker-compose down
./prepare
docker-compose up –d

2)准备安装包

./prepare

(3)正式安装

./install.sh

 

5、通过浏览器访问

       这时候就可以访问服务器地址(注意要带上端口)登录harbor管理界面了,默认账号和密码是adminHarbor12345,在harbor.yml中也有写明。其中有一个默认叫library的公开项目。

创建项目

注:也可通过修改/etc/host目录来对hostname域名进行映射

 

6、推送镜像到harbor

(1)登录harbor

(a)在/etc/docker/daemon.json添加私库地址

harbor默认使用https,如果要使用http,则需要修改/etc/docker/daemon.json文件。因此在登录harbor之前需要在/etc/docker/daemon.json添加私库地址

(b)添加http允许权限

查看docker.service文件位置:

systemctl status docker

修改docker.service

重启docker:

systemctl restart docker

注:登录失败

(a)Error response from daemon: Get https://192.168.152.128:5000/v2/: http: server gave HTTP response to HTTPS client

在/etc/docker/daemon.json添加私库地址

(b)Error response from daemon: Get http://192.168.152.128:5000/v2/: dial tcp 192.168.152.128:5000: connect: connection refused

如果在修改/etc/docker/daemon.json和/lib/systemd/docker.service文件后还是出现拒绝连接则重启haobor即可:

docker-compose up –d

另:退出登录:docker logout [hostname]

(2)推送镜像到haobor

(a)制作镜像

docker tag [images]:[tag] [harbor ip]:[port]/[library]/[images]:[tag]

例:

docker tag nginx_1:v1 192.168.152.128:5000/mylib/nginx_1:v1

注:一定要将镜像的peoository命名为[harbor ip]:[port]/[library]/[images]:[tag]

(b)推送镜像

docker push [harbor ip]:[port]/[library]/[images]:[tag]

例:

docker push 192.168.152.128:5000/mylib/nginx_1:v1

注:denied: requested access to the resource is denied

出现此错误的原因之一是镜像的peoository有问题,其格式应该为:

[harbor ip]:[port]/[library]/[images]:[tag]

修改镜像格式为对应格式即可:

docker tag [images]:[tag] [harbor ip]:[port]/[library]/[images]:[tag]

(3)查看镜像

在推送完镜像后此时在镜像仓库中就可以看到了。

(4)从harbor拉取镜像

docker pull [harbor]:[5000]/[library][images]:[tag]

例:

docker pull 192.168.152.128:5000/mylib/nginx_1:v1

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/King_weng/article/details/106506031

小滴课堂 - docker笔记14 - Volume数据共享-爱代码爱编程

1.dockerfile文件中添加挂载目录注意:使用VOLUME字段不能更改源挂载点的目录位置 dockerfile内容: FROM centos:7 VOLUME /usr/local 构建镜像命令: docker build -t centos:volume -f volume_dockerfile . 运行容器命令: docker run

Linux下 使用 docker-compose 安装 Wordpress-爱代码爱编程

网站 对于每个人都不陌生,我们每天都在与各种不同的网站进行互动,随着信息化不断发展,很多公司与个人都拥有了自己的网站,很多时候做网站的念头都止步于技术限制,那么今天,我就介绍一个让大家可以很快搭建起自己网站的方法,如果这正是您所需的就继续看下去吧! WordPress 正如你所见,今天要介绍的就是大名鼎鼎的 WordPress,使用 Word

docker和nginx的安装与使用-爱代码爱编程

docker安装与使用 菜鸟教程的docker安装传送门 下面辅助看 建立稳定仓库可以用下面这个: sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 安装docker 安装成功。 查看镜像

Docker容器学习总结(超全)-爱代码爱编程

Docker容器学习总结(超全) 前言: 由于公司业务需求,所以最近才开始学之前一直想学的Dokcer容器 文章目录 Docker容器学习总结(超全)前言:什么是容器?什么是Docker?Docker的目标Docker的使用场景Docker的基本组成Docker容器相关技术简介Docker依赖的Linux内核特性Namespaces

云原生基础及调研(Cloud Native&Serverless&Docker&Kubernetes/k8s)-爱代码爱编程

云原生基础及调研   本文仅用于简单普及,达到的目的是给没接触过或者很少接触过这方面的人一点感觉,阅读起来会比较轻松,作者深知短篇幅文章是不可能真正教会什么的,所以也不会出现 RTFM 的内容。 概念 提到云原生(Cloud Native)可能部分人会陌生,但是如果说 Serverless 相信很多人就知道了,实际上两者并不等价。Serverl

【ES从入门到实战】完整合集版,带思维导图-爱代码爱编程

文章目录 简介一、基本概念1、Index(索引)2、Type(类型)3、Document(文档)4、倒排索引机制二、Docker 安装1、下载镜像文件下载elasticsearch下载kibana2、创建实例1. ElasticSearch2, Kibana三、初步检索1、_cat2、索引一个文档(对应成Mysql就是保存一条记录)3、查询文档