2020/04/08

Dockerfileの作成

背景


仕事で、複数のエッジコンピュータにデプロイを行うにあたり、Dockerイメージを利用する必要があった

記事の目的


DockerfileでDockerコンテナを自動ビルドする

Dockerfileの導入


ここでは、Dockerfileの使用方法について記載する。

Dockerfile作成手順

Dockerfileの作成手順は、下記の通りである。
  1. Dockerfileを作成
  2. $ 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..."]]
    
  3. bildを実行(カレントディレクトリのDockerfileを使用)
  4. $ sudo docker build -t emptySet/sampleImage .
    
  5. 動作確認
  6. $ 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の作成方法について調査、記載した

参考文献



変更履歴


  1. 2020/04/08: 新規作成

0 件のコメント:

コメントを投稿

MQTTの導入

背景 IoTデバイスの接続環境構築のため、MQTT(mosquitto)の導入を行った。 記事の目的 MQTT(mosquitto)をUbuntuに導入する mosquitto ここではmosquittoについて記載する。 MQTT MQTT(Message Qu...