在MAC伺服器上搭建docker-registry

來源:互聯網
上載者:User

本文介紹如何在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/sharesudo 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/registrymkdir /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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.