- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章Docker 搭建私有仓库(registry、harbor)由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
为什么要弄私有仓库,大多是为了速度,我们再私有仓库中的push和pull的速度是特别快的.
利用registry快速搭建 。
https://hub.docker.com/_/registry/ 。
1
2
3
4
5
6
7
|
Run a local registry: Quick Version
$ docker run -d -p 5000:5000 --restart always --name registry registry:2
Now, use it from within Docker:
$ docker pull ubuntu
$ docker tag ubuntu localhost:5000/ubuntu
$ docker push localhost:5000/ubuntu
|
这是官方的一个小demo。下面是我自己的实践.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
# 拉取registry2.0版本
[root@FantJ ~]# docker pull registry:2
Trying to pull repository docker.io/library/registry ...
2: Pulling from docker.io/library/registry
81033e7c1d6a: Pull complete
b235084c2315: Pull complete
c692f3a6894b: Pull complete
ba2177f3a70e: Pull complete
a8d793620947: Pull complete
Digest: sha256:672d519d7fd7bbc7a448d17956ebeefe225d5eb27509d8dc5ce67ecb4a0bce54
Status: Downloaded newer image for docker.io/registry:2
# 后台启动运行
[root@FantJ ~]# docker run -d -p 5000:5000 --restart always --name registry registry:2
ce5b8bfa6d7f535906730ea3a058b00e7cfdaaa20ea0db3c49d700a4e2c8a645
[root@FantJ ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/openjdk 8-jre bef23b4b9cac 2 weeks ago 443 MB
docker.io/fantj/nginx latest ae513a47849c 4 weeks ago 109 MB
docker.io/nginx latest ae513a47849c 4 weeks ago 109 MB
docker.io/registry 2 d1fd7d86a825 4 months ago 33.3 MB
# tag 镜像
[root@FantJ ~]# docker tag docker.io/nginx 127.0.0.1:5000/nginx
# 上传到私有仓库
[root@FantJ ~]# docker push 127.0.0.1:5000/nginx
The push refers to a repository [127.0.0.1:5000/nginx]
7ab428981537: Pushed
82b81d779f83: Pushed
d626a8ad97a1: Pushed
latest: digest: sha256:e4f0474a75c510f40b37b6b7dc2516241ffa8bde5a442bde3d372c9519c84d90 size: 948
[root@FantJ ~]#
|
缺点:没有可视化管理工具,私有仓库服务宕机造成麻烦,没有用户管理机制、没有操作的记录功能.
优点:搭建操作简单 。
利用harbor搭建 。
下载地址:https://storage.googleapis.com/harbor-releases/release-1.5.0/harbor-offline-installer-v1.5.1.tgz 。
1
2
3
4
5
|
wget https://storage.googleapis.com/harbor-releases/release-1.5.0/harbor-offline-installer-v1.5.1.tgz
tar zxvf harbor-offline-installer-v1.5.1.tgz
cd harbor
|
修改配置harbor.cfg 。
1
|
hostname = fantj.top:8888
|
http还是https啥的自己看着改 。
保存退出,直接运行install.sh 。
1
2
|
cd ..
./install.sh
|
注意一点:harbor默认会占用80端口,所以请确保你的80端口不被占用,那怎么修改呢?
修改配置docker-compose.yml(需要改端口再进行) 。
将80:80的第一个80改为自定义的端口号 。
我在这里改成8888端口.
然后运行install.sh 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
......
[Step 4]: starting Harbor ...
Creating network "harbor_harbor" with the default driver
Creating harbor-log
Creating redis
Creating registry
Creating harbor-db
Creating harbor-adminserver
Creating harbor-ui
Creating nginx
Creating harbor-jobservice
✔ ----Harbor has been installed and started successfully.----
Now you should be able to visit the admin portal at http://fantj.top:8888 .
For more details, please visit https://github.com/vmware/harbor .
|
好的,成功了,我们来访问一下.
默认账号密码: admin Harbor12345 。
如果想修改,去harbor.cfg修改.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
[root@FantJ harbor]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ea66b87c5d26 vmware/harbor-jobservice:v1.5.1 "/harbor/start.sh" 7 minutes ago Up 7 minutes harbor-jobservice
5fecbc47ea68 vmware/nginx-photon:v1.5.1 "nginx -g 'daemon ..." 7 minutes ago Up 7 minutes (healthy) 0.0.0.0:443->443/tcp, 0.0.0.0:4443->4443/tcp, 0.0.0.0:8888->80/tcp nginx
9ccfa0d137de vmware/harbor-ui:v1.5.1 "/harbor/start.sh" 7 minutes ago Up 7 minutes (healthy) harbor-ui
b1f6387545d6 vmware/harbor-db:v1.5.1 "/usr/local/bin/do..." 7 minutes ago Up 7 minutes (healthy) 3306/tcp harbor-db
6bcd46635374 vmware/registry-photon:v2.6.2-v1.5.1 "/entrypoint.sh se..." 7 minutes ago Up 7 minutes (healthy) 5000/tcp registry
c40db866f7d2 vmware/harbor-adminserver:v1.5.1 "/harbor/start.sh" 7 minutes ago Up 7 minutes (healthy) harbor-adminserver
8d0ee20abfbf vmware/redis-photon:v1.5.1 "docker-entrypoint..." 7 minutes ago Up 7 minutes 6379/tcp redis
17c002dd8b98 vmware/harbor-log:v1.5.1 "/bin/sh -c /usr/l..." 7 minutes ago Up 7 minutes (healthy) 127.0.0.1:1514->10514/tcp harbor-log
[root@FantJ harbor]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
vmware/redis-photon v1.5.1 19245c7a4f51 3 days ago 207 MB
vmware/clair-photon v2.0.1-v1.5.1 e7f0ab982469 3 days ago 303 MB
vmware/notary-server-photon v0.5.1-v1.5.1 611385e920c3 3 days ago 211 MB
vmware/notary-signer-photon v0.5.1-v1.5.1 f9e01495db0e 3 days ago 209 MB
vmware/registry-photon v2.6.2-v1.5.1 2efae6b250b1 3 days ago 198 MB
vmware/nginx-photon v1.5.1 90d35cd72a68 3 days ago 135 MB
vmware/harbor-log v1.5.1 67000769dfac 3 days ago 200 MB
vmware/harbor-jobservice v1.5.1 3f7a7987ca5b 3 days ago 194 MB
vmware/harbor-ui v1.5.1 8dbe945233a8 3 days ago 212 MB
vmware/harbor-adminserver v1.5.1 a11b8eb3f9d8 3 days ago 183 MB
vmware/harbor-db v1.5.1 afa780d73279 3 days ago 526 MB
vmware/mariadb-photon v1.5.1 59ed57632415 3 days ago 526 MB
vmware/postgresql-photon v1.5.1 41b693c0ce50 3 days ago 221 MB
docker.io/openjdk 8-jre bef23b4b9cac 2 weeks ago 443 MB
vmware/harbor-migrator v1.5.0 466c57ab0dc3 4 weeks ago 1.16 GB
127.0.0.1:5000/nginx latest ae513a47849c 4 weeks ago 109 MB
docker.io/fantj/nginx latest ae513a47849c 4 weeks ago 109 MB
docker.io/nginx latest ae513a47849c 4 weeks ago 109 MB
vmware/photon 1.0 4b481ecbef2a 5 weeks ago 130 MB
docker.io/registry 2 d1fd7d86a825 4 months ago 33.3 MB
|
可以看到我们的进程和镜像都多了很多的以vmware开头的(harbor是vmware公司的开源工具). 。
好了,开始push测试 。
1
2
3
4
|
[root@FantJ harbor]# docker tag docker.io/nginx fantj.top:8888/internet-plus/nginx
[root@FantJ harbor]# docker push fantj.top:8888/internet-plus/nginx
The push refers to a repository [fantj.top:8888/internet-plus/nginx]
Get https://fantj.top:8888/v1/_ping: dial tcp: lookup fantj.top: no such host
|
它提示需要用https请求才安全,解决方式有两种:
第一种:docker启动的时候添加对域名+端口的信任 --insecure-registry=xxxx.xx.xx.xx:8888 。
第二种:添加ssl证书,改天更新 。
Harbor重启 。
1
2
|
#docker-compose stop
# ./install.sh
|
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我.
原文链接:https://www.jianshu.com/p/135bf2a14ab4 。
最后此篇关于Docker 搭建私有仓库(registry、harbor)的文章就讲到这里了,如果你想了解更多关于Docker 搭建私有仓库(registry、harbor)的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
为了构建 CentOS 6.5 OSM 切片服务器,我正在寻找一些文档和/或教程。 我试过this one正如我在我的 previous post 中所说的那样但它适用于 Ubuntu 14.04,而
我正在寻找可用于集成任何源代码控制管理系统的通用 git 桥(如 git-svn、git-p4、git-tfs)模板。 如果没有这样的模板,至少有一些关于如何在 git 端集成基本操作的说明(对于其他
1、前言 redis在我们企业级开发中是很常见的,但是单个redis不能保证我们的稳定使用,所以我们要建立一个集群。 redis有两种高可用的方案: High availabilit
简介 前提条件: 确保本机已经安装 VS Code。 确保本机已安装 SSH client, 并且确保远程主机已安装 SSH server。 VSCode 已经安装了插件 C/
为什么要用ELK ELK实际上是三个工具,Elastricsearch + Logstash + Kibana,通过ELK,用来收集日志还有进行日志分析,最后通过可视化UI进行展示。一开始业务量比
在日常办公当中,经常会需要一个共享文件夹来存放一些大家共享的资料,为了保证文件数据的安全,最佳的方式是公司内部服务器搭建FTP服务器,然后分配多个用户给相应的人员。今天给大家分享FileZilla搭
最近由于业务需要,开始进行 Flutter 的研究,由于 Flutter 的环境搭建在官网上有些细节不是很清楚,笔者重新整理输出 1. 配置镜像 由于在国内访问 Flutter
目录 1. 安装go软件包 2. 配置系统变量 3. 安装git 4. 设置go代理 5. 下载gin框架 6. 创建项目 7.
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任
上篇文章给大家介绍了使用docker compose安装FastDfs文件服务器的实例详解 今天给大家介绍如何使用 docker compose 搭建 fastDFS文件服务器,内容详情如下所示:
目录 1.创建Maven 2.Maven目录和porm.xml配置 3.配置Tomcat服务器 1.创建Maven
laravel 官方提供 homestead 和 valet 作为本地开发环境,homestead 是一个官方预封装的 vagrant box,也就是一个虚拟机,但是跟 docker 比,它占用体积
这个tutorial显示了 Razor Pages 在 Asp.Net Core 2 中的实现。但是,当我运行 CLI 命令时: dotnet aspnet-codegenerator razorp
我创建了一个单独的类库项目来存储数据库上下文和模型类。在同一解决方案中,我创建了一个 ASP.NET MVC 项目并引用了类库项目,并在项目的 Web.config 文件中包含了数据库上下文的连接字符
关于代码托管,公司是基于Gitlab自建的,它功能全而强大,但是也比较重,我个人偏向于开源、小巧、轻便、实用,所以就排除了Github,在Gogs和Gitea中选者。Gogs在Github有38
目录 1、高可用简介 1.1 高可用整体架构 1.2 基于 QJM 的共享存储系统的数据同步机制分析 1.3 NameNode 主
Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,它已经在该站点运行超过两年半了。Igor 将源代码以类BSD许可证的形式发布。 在高并发连接的情况
对于我们的 ASP.NET Core 项目,我们使用包管理器控制台中的 Scaffold-DbContext 搭建现有数据库。 每次我们做脚手架时,上下文类与所有实体一起生成,它包含调用 option
我正在使用 .net 核心 2.0。我已经安装了以下 nuget 包:1: Microsoft.AspNetCore.All2: Microsoft.EntityFrameworkCore.Tools
我正在使用 NetBeans 及其 RAD 开发功能开发 JEE6 JSF 应用程序。我想使用脚手架来节省更新 Controller 和模型 View 的时间。 OneToMany 关联在 View
我是一名优秀的程序员,十分优秀!