在MAC服务器上搭建docker-registry(转)
- 在MAC服务器上搭建docker-registry
本文介绍如何在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
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文件
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
在MAC服务器上搭建docker-registry(转)的更多相关文章
- 在Ubuntu14.04系统POWER8服务器上搭建Docker Registry服务
本文描述了如何在POWER8服务器上搭建一个本地化的Docker镜像仓库,主要涉及镜像制作,Docker Registry服务启动等.希望能够对在非X86服务器上搭建Docker仓库的同学提供参考. ...
- 服务器上的 Git - 在服务器上搭建 Git
http://git-scm.com/book/zh/v2/%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E7%9A%84-Git-%E5%9C%A8%E6%9C%8D%E ...
- 简单搭建docker registry
已知信息: 服务端IP:192.168.7.2xx 客户端IP:192.168.7.1xx 服务端: docker registry中镜像本地映射地址:/Users/dockergit/private ...
- 搭建docker registry私有镜像仓库
搭建docker registry私有镜像仓库 一.安装docker-distribution yum install -y docker-distribution 安装完成后,启动服务: syste ...
- PHP绿色集成环境在云服务器上的应用,PHPWAMP在服务器上搭建网站案例
问:什么叫WAMP?答:Windows下的Apache+Mysql+PHP,称之为WAMP. 本文案例采用的PHP集成环境是我自己开发的纯绿色版WAMP软件(PHPWAMP). 我在这款集成环境里集成 ...
- 阿里云ECS服务器上搭建keepalived+mha+mysql5.6+gtid+一主两从+脚本判断架构踩的坑
最近,公司项目搭建了一套后端数据库架构,不是在RDS,是在阿里云的ECS服务器上搭建keepalived.mha.mysql5.6.gtid.一主两从架构,目前还没有实现读写分离,以后架构升级,可能代 ...
- 在服务器上搭建node环境
一般公司的发布是后台人员完成的,但是作为开发不会发布项目还是有点不高级的感觉 因为没有搭建虚拟机于是就直接在我阿里云的服务器上搭建了node环境, 第一步,前往node官网下载linux下的阿里云的镜 ...
- 转-在Mac OS上搭建Python的开发环境
在Mac OS上搭建Python的开发环境 本文转载自:http://www.jb51.net/article/76931.htm 一. 安装python mac系统其实自带了一个python的执 ...
- 在一台服务器上搭建多个网站的方法(Apache版)
Apache的配置文件一般放置在/etc/httpd/conf文件夹下,httpd.conf是它的主配置文件,在进行配置时可以将虚拟主机的配置文件单独配置,如取名为vhost.conf,然后再http ...
随机推荐
- 基于 Token 的身份验证方法
使用基于 Token 的身份验证方法,在服务端不需要存储用户的登录记录.大概的流程是这样的: 客户端使用用户名跟密码请求登录 服务端收到请求,去验证用户名与密码 验证成功后,服务端会签发一个 Toke ...
- Python模拟删除字符串两边的空白
目标: 1.使用string模块的whitespace 2.删除左边.右边以及两边的空白 代码如下: [root@localhost python]# cat rmspace.py #!/usr/bi ...
- nginx 配置优化(简单)
配置文件 正常运行的必备配置: 1.user username [groupname]:(推荐nginx) 以那个用户身份运行,以在configure指定的用户 ...
- servlet的匹配规则,兼谈/与/*
客户端通过URL地址访问服务器(servlet容器)资源,所以servlet若要能对外提供服务,必须要将程序按照java规范将其映射到对应的URL上,映射的规则是需要开发人员在WEB.XML中显示指定 ...
- mysql的三种驱动类型
http://862123204-qq-com.iteye.com/blog/1566581 1. Class.forName("com.mysql.jdbc.Driver");/ ...
- 关于nodejs能同时接受多少个请求的问题?////zzz
关于nodejs能同时接受多少个请求的问题? 最近学习node,看了很多教程,都在赞扬nodejs的异步I/O,异步I/O的特点就是,每接收一个请求,使用异步调用处理请求,不用等待结果,可以继续运行其 ...
- Javascript模块化编程(一):模块的写法(转)
随着网站逐渐变成"互联网应用程序",嵌入网页的Javascript代码越来越庞大,越来越复杂. 网页越来越像桌面程序,需要一个团队分工协作.进度管理.单元测试等等......开发者 ...
- PHP+ExtJS 文件上传示例
xtJS 4 有一个非常方便的文件上传组件,可以用来将文件上传到服务器.本文PHP教程UncleToo将介绍使用PHP和ExtJS实现文件上传功能. 首先,创建文件上传组件Ext.form.Panel ...
- jquery.serialize
jQuery - serialize() 方法 serialize() 方法通过序列化表单值,创建 URL 编码文本字符串. serialize()函数用于序列化一组表单元素,将表单内容编码为用于提交 ...
- SSH框架使用中存在的诡异异常
背景 相信大多数人目前都在使用Spring + Struts2/SpringMVC + Hibernate来构建项目的整体架构,但是在使用中经藏会遇到一些诡异的问题,不知道如果解决,今天我遇到了一个非 ...
我要投稿