docker private registry を立ててみた
内容
いちいち build するのが面倒になったから,private registry を立てることを検討してみた.
とりあえず,ローカル(MacOSX + boot2docker)に立ててみる.
Mac$ docker run -p 5000:5000 registry Mac$ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a7238561b9e2 registry:latest /bin/sh -c 'exec doc 22 hours ago Up 29 minutes 0.0.0.0:5000->5000/tcp silly_bell
これだけで起動する.
失敗
Mac で boot2docker を使っているので,
Mac 側 Mac$ sudo vi /etc/hosts 192.168.59.103 docker-reg.private.local Mac$ docker push docker-reg.private.local 2014/08/08 08:34:12 Error: Invalid Registry endpoint: Get http://docker-reg.private.local:5000/v1/_ping: dial tcp: lookup docker- reg.private.local: no such host
としてみたら,push できなかった.
成功
boot2docker 側 boot2docker$ sudo vi /etc/hosts 127.0.0.1 docker-reg.private.local boot2docker$ docker push docker-reg.private.local:5000/sample-app The push refers to a repository [docker-reg.private.local:5000/sample-app] (len: 1) Sending image list Pushing repository docker-reg.private.local:5000/sample-app (1 tags) (中略) Pushing tag for rev [a1eb481825d3] on {http://docker-reg.private.local:5000/v1/repositories/sample-app/tags/latest}
で設定したらできたみたい.
そりゃそうか.docker が動いてるのは boot2docker 側だから,
そっちから引けないと駄目か.
ということは,最初は localhost にしたら簡単だったかも.
あーでも,そうすると,Mac 側から見えないか.両方設定するのもアリかもしれない.
次に
もうちょっとストレージの永続化とかを考えた方がいいかもしれない.