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のダウンロードの様子

 
Imageの起動には以下のコマンドを使用します。

$ sudo docker run -it ubuntu:18.04

 
このコマンドにより先ほどダウンロードしたubuntuを起動することができました。
 
起動に成功するとユーザの部分が以下のように変化します。
 

Ubuntu:18.04の起動

 

プログラムがインストール済みのImage

 
普段から使用しているtomomano/labcのようにすでにプログラムがインストールされているImageも使用しました。
 
今回はPython3などがインストールされているPyTorchをダウンロードしました。
 
ダウンロードと起動は以下のコマンドで行いました。

$ sudo docker run -it pytorch/pytorch

 
以下の画像はPyTorch起動時の様子です。
 

PyTorchの起動

 
実際にPytorchからPython3を起動し、以下のようにpytorchをインポートしました。
 

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の起動の様子です。
 

hello-nodeの起動


 
また、今回追加したImageは以下のコマンドより確認することができます。

$ sudo docker rmages

 

Imageのリスト