• 在MAC服务器上搭建docker-registry(转)


    在MAC服务器上搭建docker-registry
    2014-03-14      0 个评论    来源:在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
  • 相关阅读:
    自己实现的string的库函数
    单链表的面试题
    顺序表的实现
    指针数组与数组指针
    指针与数组
    sizeof 与 strlen
    HTML配色工具!在线配色工具
    [转载] python的sorted函数对字典按key排序和按value排序
    [转载]python脚本删除一定时间以外的文件
    python基础教程(四)
  • 原文地址:https://www.cnblogs.com/yaoliang11/p/4627541.html
Copyright © 2020-2023  润新知