# イメージをインタラクティブモードで起動する
docker run -it debian:bullseye
# イメージをバックグラウンドで起動する
docker run python:3.9 python -c 'print("Hello, world!")'
# ローカルに保存したイメージの一覧を表示する
docker images
# イメージをpullする
docker pull debian:bullseye
イメージの起動 (インタラクティブモード)
docker run -it debian:bullseye
-itオプションを付けると、インタラクティブモードで起動し、ターミナル入力(-i)と疑似 TTY(-t)をアタッチする。
そのため、ユーザーのターミナルがコンテナ内のシェルに接続され、コンテナのターミナルを直接利用することができる。
イメージの起動 (バックグラウンド)
-itオプションを省略すると、コンテナはバックグラウンドモードで実行される。
デフォルトの挙動はイメージによって異なる。debian の場合は何もせずに終了する。
docker pull python:3.9
# docker run <image> <command>
docker run python:3.9 python -c 'print("Hello, world!")'
# > Hello, world!
とすると、指定したコンテナ内でコマンドを実行することができる。指定したコマンドが実行された後は自動で終了する。
Dockerfile のコマンド
RUN
イメージのビルド時にシェルコマンドを実行するコマンド。
シェル形式
RUN command param1 param2
exec 形式
RUN ["executable", "param1", "param2"]
apt を使用してパッケージをインストール
RUN apt update && \
apt install -y git curl
ENV
イメージの中に環境変数を設定するコマンド。
このコマンドによって設定された環境変数は、後続のRUN命令で使用できるだけでなく、コンテナの実行時にも使用できる。
ENV VAR_NAME=value
環境変数にパスを設定して、ディレクトリを作成
ENV INSTALL_DIR=/myapp
RUN mkdir $INSTALL_DIR
ARG
ビルド時に渡すことができる変数を定義するコマンド。 外部からイメージのビルドプロセスにパラメーターを渡して、動的にイメージをカスタマイズすることができる。 このコマンドによって定義された変数はビルド時にのみ有効であり、コンテナの実行時には使用できない。
ARG VAR_NAME=default_value
バージョンの指定
ARG VERSION=latest
VERSION変数は、ビルド時に--build-argオプションを使って値を指定することができる。
docker build --build-arg VERSION=1.2 -t myimage .