macOS设置指南
该页面包含有关使用开源Docker Registry托管自己的注册表的信息。有关Docker Hub的信息,它提供了托管注册表以及其他功能,例如团队,组织,Web挂钩,自动构建等,请参阅Docker Hub。
用例
如果您打算在macOS上本地运行注册表服务器,这将很有用。
备择方案
您可以在macOS上启动VM,然后使用该VM中的Docker将注册表正常部署为容器。
解决方案
使用此处描述的方法,您可以从git存储库安装并编译自己的代码,并将其作为macOS代理运行。
陷阱
macOS上的生产服务操作不在本文档范围内。在考虑将其投入生产之前,请确保您对这些方面有充分的了解。
在机器上设置golang
如果您知道,请安全地跳到下一部分。
如果您不这样做,则TLDR为:
bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)
source ~/.gvm/scripts/gvm
gvm install go1.4.2
gvm use go1.4.2
如果您想了解,则应阅读如何编写Go代码。
检出Docker Distribution源代码树
mkdir -p $GOPATH/src/github.com/docker
git clone https://github.com/docker/distribution.git $GOPATH/src/github.com/docker/distribution
cd $GOPATH/src/github.com/docker/distribution
构建二进制文件
GOPATH=$(PWD)/Godeps/_workspace:$GOPATH make binaries
sudo mkdir -p /usr/local/libexec
sudo cp bin/registry /usr/local/libexec/registry
设置
复制注册表配置文件到位:
mkdir /Users/Shared/Registry
cp docs/osx/config.yml /Users/Shared/Registry/config.yml
在启动状态下运行Docker注册表
将Docker注册表plist复制到位:
plutil -lint registry/recipes/osx/com.docker.registry.plist
cp registry/recipes/osx/com.docker.registry.plist ~/Library/LaunchAgents/
chmod 644 ~/Library/LaunchAgents/com.docker.registry.plist
启动Docker注册表:
launchctl load ~/Library/LaunchAgents/com.docker.registry.plist
重新启动Docker Registry服务
launchctl stop com.docker.registry
launchctl start com.docker.registry
卸载Docker注册表服务
launchctl unload ~/Library/LaunchAgents/com.docker.registry.plist