0
0

More than 1 year has passed since last update.

Dockerfileを作成するときのコマンド

Posted at

説明
Dockerfileを作成するときによく使うDocker instructionについて解説します。


FROMについて・・・

Dockerfile
FROM <docker image>
#exaple
FROM ubuntu:latest

 Dockerイメージを作成するときに、元にするDockerイメージを指定します。
 例では、ubuntuのlatest(最新版)のDockerイメージを元にするように指定しています。

 DockerfileはFROMから始めるようにします。


RUNについて・・・

Dockerfile
RUN <command>
#example
FROM ubuntu:latest
RUN mkdir sample_folder

 RUNの後にを指定することで、そのを実行できます。
 例では、Dockerコンテナ作成時にsample_folderという名前のフォルダを作成します。


COPYについて・・・

Dockerfile
COPY <src> <dest>
#example
FROM ubuntu:latest
RUN mkdir new_dir
COPY sample.txt /new_dir

 ローカルに存在するファイルをDockerコンテナにコピーしたいときに使用します。
 
 例では、ubuntuのosを作成し、"new_dir"という名前のフォルダを作成します。
 その後、ローカルにあるsample.txtファイルをDockerコンテナのnew_dirフォルダ内にコピーするためにCOPYを使用しています。
 COPYを使用することで、ローカルにあるsample.txtファイルと全くおなじsample.txtファイルがDockerコンテナ内のnew_dirフォルダ内に作成されます。

*COPYはフォルダもコピーできます。


ADDについて

Dockerfile
ADD <src> <dest>
#example
FROM ubuntu:latest
ADD sample.tar /

 tarの圧縮ファイルをコピーして解凍したいときに使用します。
 サイズの大きなファイルをDockerコンテナに追加したいときに使います。
 COPYととても似ていますが、ファイルサイズによって使い分けます。

例では、sample.tarファイルをroot直下にコピーして解凍するように指定しています。


CMDについて

Dockerfile
CMD ["command","引数", ...]
#example
FROM ubuntu:latest
CMD ["ls", "--help"]

 CMDはDockerコンテナ作成時に実行するコマンドを指定することができます。

 例では、lsコマンドをhelpオプションで指定しています。


ENVについて

Dockerfile
ENV <key> <value>
#example
FROM ubuntu:latest
ENV sample_key value
ENV sample_key1=value1

ENVはDockerコンテナ内で使える環境変数を指定することができます。

例では、sample_keyという環境変数にvalueという値を割り当てています。


WORKDIRについて

Dockerfile
WORKDIR <絶対path>
#example
FROM ubuntu:latest
RUN mkdir new_dir
WORKDIR /new_dir
RUN touch new_file

Docker instruction(RUNやCOPYなど)の実行ディレクトリを変更することができる

例では、new_dirというフォルダを作成し、WORKDIRでnew_dirフォルダでRUN touch new_fileが実行されるようにしています。
つまりnew_dirフォルダ内にnew_fileファイルを作成しています。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0