在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 ...
随机推荐
- SQL Server 常用日期查询语句
--本月月初select dateadd(mm,datediff(mm,0,getdate()),0) --本月月末select DATEADD(DD,-1,DATEADD(MONTH,1+DAT ...
- pdf拆分与合并
1.引用iTextSharp,用于拆分和合并pdf文件 using iTextSharp.text; using iTextSharp.text.pdf; 2.合并pdf //outMergeFile ...
- JSON例子异常分析
今天自己写了一个JSON的例子,可以一调用就出了问题,报下面这个异常: Java.lang.ClassNotFoundException: org.apache.commons.lang.except ...
- LintCode Longest Common Substring
原题链接在这里:http://www.lintcode.com/en/problem/longest-common-substring/# 题目: Given two strings, find th ...
- python pip安装问题
scipy-0.18.1-cp34-cp34m-win32.whl is not a supported wheel on this platform. 遇到该问题需要更新pip版本 1.更新pip: ...
- 导入excel2007文件问题
基于oledb方式导入excel2007文件时,使用如下链接字符串: string strCon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Sour ...
- 12月22日《奥威Power-BI财务报表数据填报》腾讯课堂开课啦
一扇可以通向任何地方的“任意门”,是我们多少人幼时最梦寐以求的道具之一.即使到了现在,工作中的我们还会时不时有“世界那么大,我想去看看”的念头,或者在突然不想工作的时刻,幻想着自己的家门变成了“任意门 ...
- log4net 按时间输出日志
参考:(转)非常完善的Log4net详细说明 log4net 按天与按小时记日志的配置 Log4net 中输出日志到文件,文件名根据日期生成 log4net按日志级别(debug,info,warn, ...
- Dll的生成,转化为OMF格式的DLL
extern "C" { __declspec(dllexport) int psq_add(int a, int b); } C:\Users\pansq>mkexp my ...
- IOS开发UISearchBar失去第一响应者身份后,取消按钮不执行点击事件的问题
在iOS开发中,使用UISearchBar的时候,当搜索框失去焦点的时候,取消按钮是默认不能点击的,如图按钮的颜色是灰色的: 这是因为此时取消按钮的enabled属性被设置为NO了,那么当我们需要让 ...
我要投稿