背景
仕事で、複数のエッジコンピュータにデプロイを行うにあたり、Dockerイメージを利用する必要があった
記事の目的
DockerfileでDockerコンテナを自動ビルドする
Dockerfileの導入
ここでは、Dockerfileの使用方法について記載する。
Dockerfile作成手順
Dockerfileの作成手順は、下記の通りである。- Dockerfileを作成
- bildを実行(カレントディレクトリのDockerfileを使用)
- 動作確認
$ vim Dockerfile
Dockerfile FROM nvidia/cuda
MAINTAINER emptySet
# ENV: 環境変数の設定
ENV http_proxy http://your.proxy.com:8080
ENV https_proxy http://your.proxy.com:8080
# RUN: buildするときに実行されるもの
RUN apt update
# ADD: ホスト側のファイル(tar)をコンテナに移動し、展開する
ADD sample.tar.gz /home/
# COPY: ホスト側のファイルをコンテナにコピーする
COPY sample.sh /home/
# ENTRYPOINT: コンテナ実行時に最初に実行される
ENTRYPOINT: /bin/bash
# CMD: runするときに実行されるもの
CMD ["echo", "now running..."]]
$ sudo docker build -t emptySet/sampleImage .
$ sudo docker run -i -t emptySet/sampleImage
...
now running...
...
備考
- Dockerfikeのコマンド一覧
- FROM ベースイメージを指定する(必須)
- MAINTAINER イメージの作成者を記述できる
- RUN コマンドを実行する
- CMD docker run時に実行されるコマンド
- EXPOSE 外部に公開するポートを指定する
- ENV 環境変数を設定する
- ADD 指定したファイル・ディレクトリをコンテナ内にコピーする URLの指定が可能。tarファイルは自動解凍する。
- COPY 指定したファイル・ディレクトリをコンテナ内にコピーする URLの指定不可。自動解凍もしない。
- ENTRYPOINT docker run時に最初に実行されるコマンド
- VOLUME 外部からマウント可能なボリュームを指定する データの永続化が可能となる
- USER コンテナで使用されるユーザ名/UIDを設定する
- WORKDIR 作業ディレクトリを変更する
- ONBUILD 次のビルドの最後に実行されるコマンドを設定する
まとめ
- Dockerfileの作成方法について調査、記載した
参考文献
変更履歴
- 2020/04/08: 新規作成
0 件のコメント:
コメントを投稿