0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

dockerのコマンド、書き方をまとめた

Last updated at Posted at 2025-04-28

随時更新、、、
docker composeについてもまとめるy

dockerのコマンド一覧

コマンド名 機能説明
docker image pull (イメージ名):(タグ名) docker hubからimageをpullしてくる。タグ名なしの場合はdefaultでlatestとなる
docker image ls pullしたimageの一覧を表示する
docker image rm (イメージ名) imageを削除する
docker container run (イメージ名) imageからコンテナを起動する。imageがない場合はdockerHubからpullして実行する
docker container run --name (任意の名前) (イメージ名) コンテナの名前を指定しながら起動する。
docker container run -it (イメージ名) 起動したコンテナでシェル操作ができるように起動する
-i —interactiveの略(標準入力をopenにする) 
-t —ttyの略(シェルでの操作をしやすくするもの)
docker container run --rm (イメージ名) (実行したいコマンド) 実行したいコマンドを動作後に直ちにコンテナを削除s
docker container ls -a コンテナの一覧を全て表示する。-aがない場合up状態のコンテナのみ表示
docker container stop (コンテナ名 or id) up状態のコンテナを停止→exited状態にする
docker container restart (コンテナ名 or id exited状態のコンテナをupに再起動
docker container rm (コンテナ名 or id) コンテナを削除。up中のものは削除できない
docker container prune up状態以外のコンテナを全て削除する
docker image inspect (イメージ名) イメージの詳細情報を表示。使用されるコマンドの種類など
docker container exec -it (コンテナ名) (実行したいコマンド) up状態のコンテナに対して、コマンドを実行する
docker container run -d (イメージ名) デタッチドモード(バックグラウンド)で実行
docker container attach (コンテナ名 or ID) デタッチドモードで実行中のコンテナをフォアグラウンドに変更する

dockerfileの表記について

dockerfile周りで使用するコマンド

コマンド名 機能説明
docker image build (ディレクトリパス) dockerfileからイメージを作成する
docker image build -t (任意の名前):(タグ名) (ディレクトリパス) 作成するイメージの名前とタグを指定する
docker image build -f (dockerfileを指定するパス) (ビルドコンテキストのパス) ビルドするdockerfileと送りたいビルドコンテキストのパスをそれぞれ指定することができる
docker image build --target 名前 ビルドコンテキストのパス 作成したいステージ名を指定してイメージをビルドする
docker image history (イメージ名) イメージのレイヤーを閲覧できる

dockerfileで使用される文言

文法 機能説明
FROM 作りたいイメージのベースとなるものを取得
FROM ~ AS 名前 FROMステージに名前を付加する
RUN イメージ作成時に記述されたコマンドを実行する。ベースイメージで何かしらのカスタマイズをするもの
COPY (追加したいファイルやディレクトリ) (追加したい場所の指定) localのファイルやディレクトリを指定したディレクトリにコピーする
CMD["実行ファイル", "パラメータ1",,,] イメージビルド時に実行したいコマンドを設定する
ENV 変数名="hoge" イメージビルド、コンテナ内で使用できる環境変数の設定、値にspaceがある場合は""は必須
ARG 変数名="デフォルト値" イメージビルド時のみ使用できる変数の設定(dockerfile内で使用できる)
WORKDIR (ディレクトリパス) RUNやCMDなどで作業を行うディレクトリを設定する
COPY --from=(FROMステージの番号) (コピー元のパス) (コピー先のパス) 番号のFROMステージで作成された情報(コピー元のパス)をコピー先のパスへコピーする
COPY --from=名前 ~~ FROM ~ AS 名前でつけた名前を指定しても良い

dockerにおける概念

  1. ビルドコンテキスト
    imegeのビルドはdockerデーモンにて行われているが、dockerfile以外にCOPYなどで指定されたファイルやディレクトリの情報などを事前に知っておく必要がある
    →必要なファイル一式(コンテキスト)をdocker image build (ディレクトリパス)のディレクトリバスの部分で指定して、dockerデーモン知らせている

  2. dockerignore
    dockerデーモンにビルドコンテキストを送る際に、必要ないファイルを指定したもの
    →.dockerignoreファイルを作成し、その中にファイル名をしているする
    →セキュリティリスクのあるものやファイルサイズが大きいものを除外することが多い

  3. イメージレイヤー
    dockerfileで記述した1行1行がレイヤーとなり積み重なる感じ
    ・レイヤーの数が少ない方が容量は少なくなる
    ・dockerfileを修正した際の差分のレイヤー変更の影響が大きくなる
    ・トレードオフの関係からバランスよく書く必要がある

  4. ENVとARGの使い分け
    ・ENV:イメージビルド時、コンテナ実行時共に使用可能。
    ・ARG:イメージビルド時のみ使用可能。コンテナ実行時に不必要ならこっち

  5. マルチステージビルド
    dockerfile内には複数のFROMのステージを記述できる
    →以前使用したFROMのステージで出来あがったファイルなりの情報は、最後に使用したFROMのステージ上で追加・コピーなどで使用される
    →最終的にイメージとして残るのは最後に使用したFROMのステージ内容のみ、またはコマンドで指定したステージ名のみ

その他

1. ボリューム

ボリュームはdockerが管理している領域のこと。複数のコンテナからアクセスすることができる。コンテナが削除されてもボリューム領域内のデータが削除されることはない。ボリュームを削除しない限り永続化される。

コマンド名 機能説明
docker volume create (名前) (名前)のボリューム領域を作成する
docker volume ls 作成されたボリューム領域の一覧を表示する
docker volume inspect (名前) (名前)のボリュームの詳細情報を表示
docker container run -v {vol名}:{コンテナ内の絶対パス} {イメージ} ボリュームとコンテナの絶対パス内の領域を同期してコンテナを起動する

2. バインドマウント

ホストマシンの任意のディレクトリと、コンテナ内の任意のディレクトリを同期させるもの

コマンド名 機能説明
docker container run -v {ホストの絶対パス}:{コンテナ内の絶対パス} {イメージ} ホストの絶対パスとコンテナ内の絶対パスを同期してコンテナを起動する

ホストの絶対パスについて、現在のディレクトリを意味する ./ は認識しない
→これと同じ意味で $(pwd) と書くと認識する

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?