LoginSignup
1
0

More than 3 years have passed since last update.

[Google Cloud] Docker入門

Posted at

gcloudのコマンドラインツールへたどり着くまで省略します。

アクティブのアカウント名をリストアップする

gcloud auth list

出力:

Credentialed accounts:
 - <myaccount>@<mydomain>.com (active)

プロジェクトIDをリストアップする

gcloud config list project

出力:

[core]
project = <project_ID>

Hello the world

docker run hello-world

Docker imagesでDockerhubからpullしたコンテナイメージを確認する

docker images

出力

REPOSITORY     TAG      IMAGE ID       CREATED       SIZE
hello-world    latest   XXXXXXXXX      X days ago    X.XX kB

起動中のコンテナ一覧を表示させる

docker ps

-aを入れると、起動されていないコンテナも表示される。

Build

ディレクトリを作成する

mkdir test && cd test

Dockerfileを作成する(省略)

アプリのソースコードファイルを作成する(省略)

 イメージをビルドする

docker build -t [image name]:0.1 .

-tはイメージ名とタグ名をマッピングさせます。name:tag
tag名を定義しなければ、デフォルトでlatestとして記録されます。

Run

docker run -p 4000:80 --name my-app [image name]:0.1

--nameでコンテナ名を命名することができます。

コンテナをstoprmする

docker stop my-app && docker rm my-app

コンテナをバックグラウンドで動かせる

docker run -p 4000:80 --name my-app -d [image name]:0.1

-dを使います。

docker logs [container_id]

コンテナのログを確認したい場合、上記コマンドを実行します。container_idの開始数文字でそのコンテナを特定できれば、すべてのidを入力する必要がありません。

 ソースコードを修正し、タグをバージョンアップ

docker build -t [image name]:0.2 .
docker run -p 8080:80 --name my-app-2 -d [image name]:0.2
curl http://localhost:8080

コンテナが正しく構築できたか確認します。

 デバッグ

docker logs -f [container_id]

コンテナを動かしながら、ログを確認したい場合、-fを使います。

 Publish

 Google Container Registryへ自作したイメージをプッシュする

[hostname]= gcr.io
[project-id]= your project's ID
[image]= your image name
[tag]= any string tag of your choice. If unspecified, it defaults to "latest".

gcloud config list project

プロジェクトIDを調べます。

docker tag [image name]:0.2 gcr.io/[project-id]/[image name]:0.2

イメージをTagします。

docker push gcr.io/[project-id]/[image name]:0.2

gcrへイメージをプッシュします。

Navigation menu > Container Registryにてプッシュされたイメージを確認することができます。また、http://gcr.io/[project-id]/[image name]でも確認することができます。

docker stop $(docker ps -q)
docker rm $(docker ps -aq)

開発環境の中のコンテナを停止させ、削除することができます。

docker rmi [image name]:0.2 gcr.io/[project-id]/[image name] [image name]:0.1
docker rmi [image name]:[tag]
docker rmi $(docker images -aq)
docker images

子イメージを削除した後、親イメージを削除します。

docker pull gcr.io/[project-id]/[image name]:0.2
docker run -p 4000:80 -d gcr.io/[project-id]/[image name]:0.2
curl http://localhost:4000

再度開発環境でコンテナを起動したい場合、gcrにてストアしたイメージをdocker pullし、docker runします。

1
0
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
1
0