boot2docker上のファイルシステムだと再起動で消えるので修正(2014/11/21)
社外公開しないimage保存用にprivate registryを作る
1.3.1から認証のセキュリティがごにょごにょしてるのでinsecureオプションつけて回避
boot2dockerの設定変更
1. boot2dockerにsshログイン
$ boot2docker ssh
2. profile作成
$ sudo vi /var/lib/boot2docker/profile
EXTRA_ARGS="--insecure-registry localhost:5000"
3.dockerサービス再起動
$ sudo /etc/init.d/docker restart
$ exit
構築
1. イメージのダウンロード
$ docker pull stackbrew/registry
Status: Downloaded newer image for stackbrew/registry:latest
2.コンテナ作成
下記に注意
- ポートフォワードされるように指定(下記例だと5000番)
- データ保存用にディレクトリをマウントするが、boot2dockerのディスクは再起動で初期化されるので、Macのディレクトリを指定(/Users配下)
$ docker run --name registry -d -p 5000:5000 -v /Users/Shared/docker/registry:/tmp/registry stackbrew/registry
28e864f9d8dfee26f2144f4cf0eb4f776faad1705517a1ff771bb1162c942218
3.コンテナの確認
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
28e864f9d8df stackbrew/registry:latest "docker-registry" 32 seconds ago Up 32 seconds 0.0.0.0:5000->5000/tcp registry
試しにpushしてみる
image id を特定して、タグ付けして、アップロード
$ docker images
アップロードしたいimageのimage idを参照
$ docker tag 717a08ce5a08 localhost:5000/kibana4
$ docker push localhost:5000/kibana4
確認
ちゃんとファイルが格納されたかboot2docker内で確認
$ boot2docker ssh
$ ls -l /Users/Shared/docker/registry/repositories/library/
total 0
drwxr-xr-x 2 root root 100 Nov 19 23:21 centos5/
drwxr-xr-x 2 root root 120 Nov 19 22:54 kibana4/
おわり