Harbor的搭建(vmware企业级docker镜像私服)
1、下载harbor,地址https://github.com/vmware/harbor
2、进入harbor-master/Deploy目录,修改harbor.cfg文件,主要修改以下信息
2.1、hostname =10.10.20.202 (这个是harbor所在服务器的ip,不能写127.0.0.1)
2.2、修改邮箱相关信息
3、执行./prepare命令
4、添加/etc/sysconfig/docker文件,文件内容如下:
OPTIONS="--insecure-registry 10.10.20.202"
5、修改/usr/lib/systemd/system/docker.service文件
5.1、新增一行,EnvironmentFile=-/etc/sysconfig/docker,该文件只有一行内容,OPTIONS="--insecure-registry 10.10.20.202",如果/usr/lib/systemd/system/docker.service文件中不增加EnvironmentFile=-/etc/sysconfig/docker这行,下面对ExecStart的修改是不生效的。
5.2、修改一行,ExecStart=/usr/bin/dockerd $OPTIONS
为什么要修改这个配置文件呢?--insecure-registry代表本地镜像库,修改了以上配置文件后需要重启docker服务,此时docker login时,将连接指定的本地镜像库。
如果不修改这个配置文件,则登录镜像私服时(docker login 10.10.20.202)会抛出如下错误
Error response from daemon: Get https://10.10.20.202/v1/users/: dial tcp 10.10.20.202:443: getsockopt: connection refused
6、重启docker服务
service docker restart
7、build并启动
docker-compose up -d
8、从docker hub上下载hello-world镜像
docker run hello-world
9、给镜像打标签,以便上传到私服,其中library是harbor默认提供的项目
docker tag hello-world 10.10.20.202/library/hello-world
10、上传镜像
登录镜像私服,执行以下指令,再输入用户名和密码
docker login 10.10.20.202
上传镜像
docker push 10.10.20.202/library/hello-world
11、在浏览器上访问10.10.20.202,用户名:admin,密码:Harbor12345登录完成后,点击library这个项目,即可看到上传的hello-world
以下附带harbor的启动、停止命令
【Build and start Harbor】
$ sudo docker-compose up -d
Creating harbor_log_1
Creating harbor_mysql_1
Creating harbor_registry_1
Creating harbor_ui_1
Creating harbor_proxy_1
【Stop Harbor】
$ sudo docker-compose stop
Stopping harbor_proxy_1 ... done
Stopping harbor_ui_1 ... done
Stopping harbor_registry_1 ... done
Stopping harbor_mysql_1 ... done
Stopping harbor_log_1 ... done
Restart Harbor after stopping
【Start Harbor】
$ sudo docker-compose start
Starting harbor_log_1
Starting harbor_mysql_1
Starting harbor_registry_1
Starting harbor_ui_1
Starting harbor_proxy_1
Remove Harbor's containers while keeping the image data and Harbor's database files on the file system:
【删除Harbor】
$ sudo docker-compose rm
Going to remove harbor_proxy_1, harbor_ui_1, harbor_registry_1, harbor_mysql_1, harbor_log_1
Are you sure? [yN] y
Removing harbor_proxy_1 ... done
Removing harbor_ui_1 ... done
Removing harbor_registry_1 ... done
Removing harbor_mysql_1 ... done
Remove Harbor's database and image data (for a clean re-installation):
$ rm -rf /data/database
$ rm -rf /data/registry
Harbor的搭建(vmware企业级docker镜像私服)的更多相关文章
- Docker: vmware企业级docker镜像私服--Harbor的搭建
1.下载harbor,地址https://github.com/vmware/harbor2.进入harbor-master/Deploy目录,修改harbor.cfg文件,主要修改以下信息 ...
- 搭建apphouse(docker镜像私服)
1.下载apphouse,地址为http://www.youruncloud.com/soft.html2.上传AppHouse_v1.0.2.tar到服务器并解压3../apphouse_insta ...
- Harbor - 私有企业级 Docker 镜像仓库
GitHub 地址 容器镜像服务 Docker镜像的基本使用 Docker:企业级私有镜像仓库Harbor使用 Harbor 是基于 Docker Registry 的企业级镜像仓库,安装后的使用方法 ...
- 企业级Docker镜像仓库Harbor部署与使用
yum install docker 官网地址:https://docs.docker.com/compose/install/ 运行此命令以下载Docker Compose的当前稳定版本 1 sud ...
- mac上搭建docker镜像私服
1.创建私服容器 docker run -d -e SETTINGS_FLAVOR=dev -e STORAGE_PATH=/tmp/registry -v /opt/data/registry:/t ...
- centos6搭建docker镜像私服
1.创建私服容器 docker run -d -e SETTINGS_FLAVOR=dev -e STORAGE_PATH=/tmp/registry -v /opt/data/registry:/t ...
- 搭建自己的docker镜像
手动构建 1.关键字查找镜像 sudo docker search centos 2.下载基本镜像 sudo docker pull centos 3.启动容器 sudo docker run -d ...
- Harbor介绍与企业级私有Docker镜像仓库搭建
Harbor介绍与安装部署,并实现通过http和https协议[自签发SSL证书]访问,客户端如何通过Harbor镜像仓库实现镜像的上传[推送]与下载[拉取]. Harbor介绍 Harbor,是一个 ...
- docker进阶-搭建私有企业级镜像仓库Harbor
为什么要搭建私有镜像仓库 对于一个刚刚接触Docker的人来说,官方的Docker hub是用于管理公共镜像.既然官方提供了镜像仓库我们为什么还要去自己搭建私有仓库呢?虽然也可以托管私有镜像.我们 ...
随机推荐
- 网络防嗅探工具SniffJoke
网络防嗅探工具SniffJoke 在渗透测试中,通过网络嗅探,可以获取网络通信主机的各种信息.为了防止嗅探,Kali Linux提供了专用工具SniffJoke.该工具能够自动对用户的网络数据进行 ...
- Ugly Number II -- LeetCode
Write a program to find the n-th ugly number. Ugly numbers are positive numbers whose prime factors ...
- thinkphp Auth认证类 比RBAC更好的权限认证方式(Auth类认证)
thinkphp Auth认证类 比RBAC更好的权限认证方式(Auth类认证) Auth 类已经在ThinkPHP代码仓库中存在很久了,但是因为一直没有出过它的教程, 很少人知道它, 它其实比 ...
- Introduction to the TestFlight SDK
https://developer.apple.com/testflight/ When you want to test an app on your device, usually you plu ...
- 【Linux】Linux下 环境变量/etc/profile、/etc/bashrc、~/.bashrc的区别【转】
转自:http://blog.csdn.net/qiao1245/article/details/44650929 ------------------------------------------ ...
- vue中自定义指令vue.direvtive,自定义过滤器vue.filter(),vue过渡transition
自定义指令 默认设置的核心指令( v-model,v-bind,v-for,v-if,v-on等 ),Vue 也允许注册自定义指令.注意,在 Vue2.0 里面,代码复用的主要形式和抽象是组件——然而 ...
- ES6里关于字符串的拓展
一.子串识别 自从 JS 引入了 indexOf() 方法,开发者们就使用它来识别字符串是否存在于其它字符串中.ES6 包含了以下三个方法来满足这类需求: 1.includes():该方法在给定文本存 ...
- log4j教程 10、PatternLayout
如果想生成基于模式的特定格式的日志信息,那么可以使用 org.apache.log4j.PatternLayout 格式化日志信息. PatternLayout类扩展抽象 org.apache.log ...
- 一个例子理解Predicate、Consumer和Stream
一个需求: 把年龄大于20的学生的信息打印出来. 面向对象编程 public class Student { private String name; private int age; private ...
- Linux查看目录大小
du -ah --max-depth=1 a表示显示目录下所有的文件和文件夹(不含子目录) h表示以人类能看懂的方式 max-depth表示目录的深度