macOS setup guide
This is useful if you intend to run a registry server natively on macOS.
You can start a VM on macOS, and deploy your registry normally as a container using Docker inside that VM.
Using the method described here, you install and compile your own from the git repository and run it as an macOS agent.
Production services operation on macOS is out of scope of this document. Be sure you understand well these aspects before considering going to production with this.
If you know, safely skip to the next section.
If you don’t, the TLDR is:
$ 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
If you want to understand, you should read How to Write Go Code.
$ mkdir -p $GOPATH/src/github.com/distribution
$ git clone https://github.com/distribution/distribution.git $GOPATH/src/github.com/distribution/distribution
$ cd $GOPATH/src/github.com/distribution/distribution
$ GOPATH=$(PWD)/Godeps/_workspace:$GOPATH make binaries
$ sudo mkdir -p /usr/local/libexec
$ sudo cp bin/registry /usr/local/libexec/registry
Copy the registry configuration file in place:
$ mkdir /Users/Shared/Registry
$ cp docs/osx/config.yml /Users/Shared/Registry/config.yml
Copy the registry plist into place:
$ plutil -lint docs/recipes/osx/com.docker.registry.plist
$ cp docs/recipes/osx/com.docker.registry.plist ~/Library/LaunchAgents/
$ chmod 644 ~/Library/LaunchAgents/com.docker.registry.plist
Start the registry:
$ launchctl load ~/Library/LaunchAgents/com.docker.registry.plist
$ launchctl stop com.docker.registry
$ launchctl start com.docker.registry
$ launchctl unload ~/Library/LaunchAgents/com.docker.registry.plist