设为首页 收藏本站
查看: 872|回复: 0

[经验分享] 在MAC服务器上搭建docker-registry

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-10-13 11:59:14 | 显示全部楼层 |阅读模式

本文介绍如何在MAC下搭建docker的registry,我们在国内下载docker的镜像非常慢,因此为团队搭建一个基础的registry是非常有必要的,而在MAC中的docker实际上是基于虚拟机运行的,因此如果想要持久化registry内的东西就要经过几个步骤,首先要将虚拟机和主机的磁盘做关联,其次是docker的registry的image存储要和虚拟机挂载的磁盘做关联,这样才能让docker中的文件穿透到主机,本文比较完整的介绍了整个安装部署过程。



安装homebrew




如果已经安装请略过, 详情请见 http://brew.sh/




请大家确认已经安装过了XCode的Command line Tools以及VirtualBox


ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"


更新homebrew




为了确保有boot2docker的安装脚本



brew update


安装boot2docker


brew install boot2docker


初始化 boot2docker


boot2docker init


初始化完成后需要将DOCKER_HOST的地址设置为tcp://127.0.0.1:4243


export DOCKER_HOST=tcp://127.0.0.1:4243


为了方便,可以将这个信息直接加入到 ~/.bash_profile,这样就不用每次都export



将虚拟机中的端口映射到主机端口



在命令行中运行


VBoxManage modifyvm "boot2docker-vm" --natpf1 "tcp-port5000,tcp,,5000,,5000";


启动 boot2docker


boot2docker start


启动后会提示需要export docker的变量参数



挂载主机磁盘



为了保证数据不丢失,还是尽量将有用的数据映射到真实的磁盘,这样即使是虚拟机磁盘损坏,以后还可以恢复仓库数据


1.在Mac主机上安装osxfuse和sshfs




下载地址:http://osxfuse.github.io




2.在Mac主机上创建文件~/.boot2docker/b2d-passwd,并将boot2docker的ssh密码保存在这个文件里,默认为tcuser,
同时创建共享目录/docker/share


3.在boot2docker的虚拟机中执行如下命令




可以通过 boot2docker
ssh 进入



sudo mkdir /mnt/sda1/share
sudo chown -R docker:docker /mnt/sda1/share


4.在Mac主机上执行如下指令


sshfs docker@localhost:/mnt/sda1/share /docker/share -oping_diskarb,volname=share -p 2022 -o reconnect -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o password_stdin < ~/.boot2docker/b2d-passwd


5.在boot2docker的虚拟机中执行如下命令建立两个目录,用于存储仓库数据配置信息




可根据您的实际情况修改



mkdir /mnt/sda1/share/registry
mkdir /mnt/sda1/share/registry-config


如果想要取消挂载,则在Mac上执行


umount -f /docker/share



关于磁盘的映射方法来自 https://github.com/boot2docker/boot2docker/issues/188




使用docker下载registry镜像


docker pull registry



下载镜像最好先VPN,你懂的




设置registry的config文件




存放在boot2docker虚拟机里的 /mnt/sda1/share/registry-config/config.yml



dev:
loglevel: info
storage: local
storage_path: /mnt/registry


启动registry


docker run -d -p 5000:5000 -v /mnt/sda1/share:/mnt -e DOCKER_REGISTRY_CONFIG=/mnt/registry-config/config.yml registry
         
版权声明:本文为博主原创文章,未经博主允许不得转载。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-126252-1-1.html 上篇帖子: docker compose环境搭建 下篇帖子: Docker创建支持ssh服务的容器和镜像
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表