たぶん動くから!Docker でイメージを作成して共有してみよう!


はじめに

この記事では Docker で簡単なコンテナイメージを作成し、Docker Hub で共有してみるまでを記しています。
初心者の記事ですので間違っていたら指摘等いただけると幸いです。

環境

  • macOS Catalina version 10.15.6
  • Docker version 19.03.13
  • Visual Studio Code version 1.42.1

前提条件

Docker をインストールしていること。
インストールしていない場合は以下のリンクを参考にインストールしてみてください。
たぶん動くから!Docker始めてみよう!

コンテナイメージのビルド

コンテナイメージを作成するためにはコンテナの中身となる Dockerfile を作成する必要があります。
以下のコードを書いて Dockerfile という名前で保存します。

Docekrfile
FROM ubuntu:20.04
CMD ["echo", "hello Docker!!"]

コードの内容はオペレーティングシステムである ubuntu を呼び出し、 hello Docker!! と出力しています。

ターミナルで Dockerfile のディレクトリへ移動し、 docker build コマンドを叩きます。

$ docker build -t hellodoc .

-t オプションはイメージ名を指定できます。
.Dockerfile が配置されているパスを示しています。Dockerfileの配置されたディレクトリでコマンドを打っているので . ですね。

ビルド処理が終わったらコンテナイメージを動かしてみます。

$ docker run hellodoc
hello Docker!!

うまく動きましたね!

ローカルのコンテナイメージ一覧は docker images コマンドで確認できます。

$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
hellodoc            latest              32d0a84555ac        2 weeks ago         72.9MB

コンテナイメージの共有

コンテナイメージの動作が確認できたらhello Docker!! と表示されるだけのクソコンテナイメージを Docker Hub で共有してみます。

Docker Hub への登録

Docker Hub は名前からお分かりの通り、Git HubDocker の様なもの(個人的な認識です)で、様々なコンテナイメージが公開されています。

Docker Hub のアカウントを持っていない人は Docker Hub のサインアップページ にアクセスし、サインアップします。

ターミナルから Docker Hub にログインします。

$ docker login -u ■■■■■■■■■
Password: ************
Login Succeeded

■には登録したユーザーアカウントを、*にはパスワードを入力します。

コンテナイメージの共有

コンテナイメージを共有するための形式でビルドします。

docker build -t ■■■■■■■■■/hellodoc:1.0.0 .

共有するためにはイメージ名の命名規則にルールがあります。
* イメージ名の前に自分の Docker Hub アカウント名の配下に配置する。(■の部分を各自のDocker Hubアカウント名に変えてください。)
* イメージ名の後に : とバージョンを記入する。

docker push コマンドでコンテナイメージを登録します。

$ docker push ■■■■■■■■■/hellodoc:1.0.0

処理が終わったら Docker Hub で確認してみましょう。

きちんと登録されていますね!

コンテナイメージのダウンロード

登録されたコンテナイメージは docker pull コマンドでローカルにダウンロードできます。

docker pull ■■■■■■■■■/hellodoc:1.0.0