内容简介:三步走的第二步,开始查看镜像仓库,就一起学一学docker仓库,仓库分2种,别人家的仓库也叫公共仓库,自己的仓库也叫私有仓库。公共仓库和私有仓库最大的却别就是网速,公共仓库从公网,私有仓库是从局域网,速度的差别,安全性,公共的肯定没有私有的安全,保存在自己的硬盘上是最稳的。其实在中级的时候我已经说过docker仓库的创建,这次用mac本来实现docker仓库的创建。源码:https://github.com/limingios/msA-docker最权威的公有仓库就是hub.docker.com
三步走的第二步,开始查看镜像仓库,就一起学一学 docker 仓库,仓库分2种,别人家的仓库也叫公共仓库,自己的仓库也叫私有仓库。公共仓库和私有仓库最大的却别就是网速,公共仓库从公网,私有仓库是从局域网,速度的差别,安全性,公共的肯定没有私有的安全,保存在自己的硬盘上是最稳的。其实在中级的时候我已经说过docker仓库的创建,这次用mac本来实现docker仓库的创建。源码:https://github.com/limingios/msA-docker
公有仓库
最权威的公有仓库就是hub.docker.com
- 打包
docker tag zookeeper:3.5 zhugeaming/zookeeper:3.5 docker login docker push zhugeaming/zookeeper:3.5
私有仓库(一)
https://hub.docker.com/_/registry/
docker pull registry:2
-
安装说明
>官方的安装说明
docker run -d -p 5000:5000 --name registry registry:2
- push 到本地的registry
docker tag zookeeper:3.5 localhost:5000/zookeeper:3.5 docker push localhost:5000/zookeeper:3.5
在生产环境下,并不能满足要求,单点登录,一个服务器出了问题,另一个服务器就很难托管过来,它并没有界面,给他交互不是很方便。
所以业内又出现了一个新的叫harbor,更适合生产环境中。
### 私有仓库(二)
https://github.com/goharbor/harbor/
详细往下看 最终我放弃了mac下直接安装harbor,通过vagrant的方式虚拟机来安装harbor
-
准备工作
>选择线下安装
cp Downloads/harbor-offline-installer-v1.6.1.tgz ~/app/ cd ~/app tar -xvf harbor-offline-installer-v1.6.1.tgz
-
修改配置文件
>修改红色部分
cd harbor ll vi harbor.cfg
方便管理,mac系统管理,修改存储路径
vi docker-compose.yml
- 安装
- 奇葩问题
想在mac上安装一个harbor 下载了harbor-offline-installer-v1.6.1.tgz
1. 将文件放在了mac本的/user/liming/app/目录下,并解压
2. 修改了配置文件和挂载文件的路径。
3. 运行install的时候必须加sudo,负责权限不足,加了sudu后可以正常安装并安装成功。
4. 但是剩余的问题来了,里面的容器无法访问挂载的配置文件,提示权限不足。为了弥补权限不足的问题,我在docker-compose.yml做了配置都增加了
privileged: true,但是不生效,困扰了几天身边没有docker方面的人,帮忙解答下。
vagrant 方式安装
https://github.com/limingios/msA-docker/tree/master/vagrant/harbor
- 修改host文件和端口,可以不修改端口
vi harbor.cfg
vi docker-compose.yml
- 安装
./install.sh
- 浏览
ifconfig
-
访问harbor
> http://172.28.128.3:8888
> 用户名:admin
>密码:Harbor12345
library 公开的所有用户都可以push
添加项目micro-service,私有项目
点击项目可以进入项目中。
- 添加成员
- 项目管理员 等于 admin
- 开发人员 等于 对项目的镜像 有push 和pull的权限
- 访客 等于 只有 pull的权限
-
复制功能
>生产环境,很多的机房,每个机房之间的网速是很快的,但是跨机房的,可能网速的稳定性和速度就差一些,每个机房部署一个harbor,在通过一个中心的harbor,当有镜像的自动去同步其他的服务器,复制规则是可以针对项目的,每个项目自己的一个复制规则。
- 创建用户
-
添加成员
> 分配开发人员
Harbor其实操作很简单,随便点点都了解了。
本地的微服务镜像推送
现在想想办法把镜像都推送到mico-service里面
- host文件修改
sudo vi /etc/hosts
-
上传基础镜像
>hub.idig88.com 已经配置了基础
docker tag java:openjdk-8 hub.idig88.com:8888/micro-service/java:openjdk-8
The push refers to repository [hub.idig88.com:8888/micro-service/java] Get https://hub.idig88.com:8888/v2/: http: server gave HTTP response to HTTPS client
- 配置地址:登录服务器上。
vi /usr/lib/systemd/system/docker.service service docker restart
配置地址:本机mac。修改后点击app& Restart
- 再次上传基础镜像
docker login http://hub.idig88.com:8888 -u liming -p 密码 docker push hub.idig88.com:8888/micro-service/java:openjdk-8 docker tag python:3.6 hub.idig88.com:8888/micro-service/python:3.6 docker push hub.idig88.com:8888/micro-service/python:3.6
推送微服务到仓库中
已经将基础的镜像推送到了镜像仓库中,现在需要修改对应的dockerfile文件,更改基础镜像的名称。修改配置文件
-
6个微服务Dockerfile
> From hub.idig88.com:8888/micro-service/
-
6个sh脚本修改增加了推送功能
查看仓库
8个镜像全部到位
PS:经历了2天大概做了不下20小时,我最终还是放弃了mac下安装harbor的方式,时刻要记住mac只是个编辑器,不要什么都在上边装,很多时候通过虚拟机更类似生成环境。这一次说完了docker仓库,下次开始服务编排工具。感觉好爽啊!
>>原创文章,欢迎转载。转载请注明:转载自IT人故事会,谢谢!
>>原文链接地址:上一篇:已是最新文章
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 查看Docker镜像仓库中镜像的所有标签
- 搭建 Docker 镜像仓库代理
- golang包管理镜像仓库
- Docker: 上传镜像至私有仓库
- Maven 多仓库和镜像配置
- 原 荐 Harbor仓库镜像扫描原理
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
ACM国际大学生程序设计竞赛亚洲区预选赛真题题解
郭炜 / 电子工业 / 2011-7 / 49.00元
ACM国际大学生程序设计竞赛(ACM International Collegiate Programming Contest,简称ACM/ICPC)是世界上历史最悠久,规模最大、最具声望的程序设计竞赛,一直受到众多国际知名大学的重视,全球著名IT公司更是争相招募竞赛的优胜者。 该项赛事分为各大洲预选赛和全球总决赛两个阶段。北京大学多次在亚洲区预选赛中负责命题工作,是中国在ACM/ICPC命......一起来看看 《ACM国际大学生程序设计竞赛亚洲区预选赛真题题解》 这本书的介绍吧!