9
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Docker Registryの保存先をGoogle Cloud Storageにする。

Last updated at Posted at 2014-10-15

ちょっと友達とWebサービスを作るか的な話になり
サーバーを動かすのにDocker使うぜ
この前いったgcp ja night #28でもらったクーポンもあるし
とりあえずお試しでGCP使うぜーということでDocker Registryの保存先をGCSにすることになりました。

そして色々ハマったのでメモしときます。

前提

環境はMac OSX 10.9.5を使用しています。
gsutil version: 4.6

$ docker version
Client version: 1.2.0
Client API version: 1.14
Go version (client): go1.3.1
Git commit (client): fa7b24f
OS/Arch (client): darwin/amd64
Server version: 1.2.0
Server API version: 1.14
Go version (server): go1.3.1
Git commit (server): fa7b24f

boot2dockerで動かしてます。
VirtualBoxのポートフォワーディングの設定、localhost:5000にマッピング済みです。

事前にprojectは課金設定まで済ませています。

ストレージの作成

gsutilを使ってストレージを作成します。
-pでプロジェクトを指定し
-lでリージョンを指定しておきます。
リージョンがUSで構わない場合はなくても大丈夫です。

$ gsutil mb -p <project> -l ASIA gs://unique-storage-id

認証情報を格納したコンテナの作成

以下のコマンドを使い

$ docker run -ti --name gcloud-config google/cloud-sdk gcloud auth login

OAuth認証を済ませましょう。

あともしかしたら役に立つかもなのでプロジェクトのセッティングもしておきます。

$ docker run -ti --volumes-from gcloud-config google/cloud-sdk \
    gcloud config set project <project>

DockerRegistryを実行

your-secondary-emailに認証したemailを入れて実行します。

$ docker run -d -e GCS_BUCKET=<unique-storage-id> GCP_ACCOUNT=your-secondary-email -p 5000:5000 \
    --volumes-from gcloud-config google/docker-registry

これでdocker psで動いてるなーと確認できればOKです。

docker push

以下のコマンドでpushできるか確認しておきましょう。

$ docker tag <image_id> localhost:5000/<name>
$ docker push localhost:5000/<name>

まとめ

docker-registryをサービスを動かすインスタンスでも動かせば
他の認証とか用意しなくても動かせるって記事がありましたので
あとはtravisでよしなにするスクリプト組めばdeployの心配はなくなるかな?

9
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?