Docker Imageの利用と作成
今回まで使用してきた、Docker Imageであるtomomano/labcはPythonやNode.js、AWS CDKがインストールされているものでした。
このDocker Imageを利用することにより、これらのプログラムをそれぞれインストールすることなく、利用することができました。
今回はDocker Imageに関する操作やその作成方法をまとめていきます。
Imageのダウンロードと起動
ここでは実験としてubuntuをダウンロードしました。
以下のコマンドでダウンロードしました。
$ sudo docker pull ubuntu:18.04
Imageをダウンロードする際にそのイメージ名の横の":"からタグを設定することができます。
今回、私はUbuntuのバージョン18.04を指定しました。
以下の画像はImageのダウンロードの様子です。
Imageの起動には以下のコマンドを使用します。
$ sudo docker run -it ubuntu:18.04
このコマンドにより先ほどダウンロードしたubuntuを起動することができました。
起動に成功するとユーザの部分が以下のように変化します。
プログラムがインストール済みのImage
普段から使用しているtomomano/labcのようにすでにプログラムがインストールされているImageも使用しました。
今回はPython3などがインストールされているPyTorchをダウンロードしました。
ダウンロードと起動は以下のコマンドで行いました。
$ sudo docker run -it pytorch/pytorch
以下の画像はPyTorch起動時の様子です。
実際にPytorchからPython3を起動し、以下のようにpytorchをインポートしました。
Imageの作成
Imageを以下のページを参考に作成しました。
aws.amazon.com
今回はnode.jsを起動し、"Hello, World"と出力するImageを作成しました。
まず、以下のようなDockerfileを作成しました。
FROM public.ecr.aws/ubuntu/ubuntu:18.04 RUN apt-get update \ && apt-get install -y nodejs RUN echo "console.log('Hello, world')" > index.js CMD ["node", "index.js"]
次に以下のコマンドを用いてビルドします。Imageの名前は"hello-node"としました。
$ sudo docker build -t hello-node .
最後に、以下のコマンドを用いて、Imageを起動しました。
$ sudo docker run -it hello-node
以下の画像はImageの起動の様子です。
また、今回追加したImageは以下のコマンドより確認することができます。
$ sudo docker rmages