この設定手順の狙いは、linuxでもWinやOS-Xと互換のdocker環境を構築するためのものです。 (ネイティブのdockerはvolumeのマウントフォルダが透過的すぎて他の環境と互換が取りにくい。)
docker-machine create -d virtualbox default
docker-machine stop default
VBoxManage sharedfolder add default --name Users --hostpath /home --automount
VBoxManage sharedfolder add default --name sock --hostpath /run/user/1000 --automount
docker-machine start default
ssh docker@192.168.99.100 'echo "ln -s /Users/$USER /home/$USER" | sudo tee -a /var/lib/boot2docker/bootlocal.sh'
ssh docker@192.168.99.100 'echo "ln -s /sock /run/user/1000" | sudo tee -a /var/lib/boot2docker/bootlocal.sh'
eval $(docker-machine env default)
echo "eval \$(docker-machine env default)" >> .bashrc
sudo ip route add 172.17.0.0/16 via $(docker-machine ip default)このあとターミナル開き直す
- docker-toolboxのダウンロードとインストール
route -f add 172.17.0.0 mask 255.255.0.0 192.168.99.100
- docker-toolboxのダウンロードとインストール
echo "eval \$(docker-machine env default)" >> .bashrc
sudo route -n add 172.17.0.0/16 $(docker-machine ip default)
プライベートリポジトリの起動
docker run -d -p 5000:5000 -v $HOME/.registry:/var/lib/registry --name registry registry
プライベートリポジトリのカタログ取得
curl -s http://localhost:5000/v2/_catalog | jq .
Simple WebUI
docker run -i -t -p 80:8080 -e REGISTRY_HOST=$(docker inspect -f '{{.NetworkSettings.IPAddress}}' registry) -e REGISTRY_PORT=5000 hyper/docker-registry-web
WebUIフロントエンド(WIP)
docker run \
-d \
-e ENV_DOCKER_REGISTRY_HOST=$(docker inspect -f '{{.NetworkSettings.IPAddress}}' registry) \
-e ENV_DOCKER_REGISTRY_PORT=5000 \
-p 80:80 \
konradkleine/docker-registry-frontend:v2
debug-memo:
(echo GET /v2/_catalog HTTP/1.0; echo; cat <&1 >&2) >/dev/tcp/$ENV_DOCKER_REGISTRY_HOST/$ENV_DOCKER_REGISTRY_PORT