2025.09.20
【Docker】基本操作&コマンド一覧

Image by Anja from Pixabay

はじめに

Dockerの基本的な使い方と、主なコマンドを一覧にしています。

Dockerの基本

Dockerは以下の流れで使用します。

⓪アプリの作成(基本的にDockerfileはアプリのルートディレクトリに作成するため)
   ↓
①DockerfileDockerイメージの設計図(OS、ライブラリの指定など)
   ↓(コマンド:docker build)イメージのビルド
②Dockerイメージ必要なファイル類を1まとめにしたもの(ソースコード、ライブラリなど)
   ↓(コマンド:docker create)コンテナの作成
③Dockerコンテナ実際に動作する環境
   ↓(コマンド:docker start)コンテナの起動
④コンテナの起動

基本コマンド

Dockerの状態確認sudo systemctl status docker
Docker起動sudo systemctl start docker
Docker停止sudo systemctl stop docker
バージョン確認docker –version
Docker環境の確認docker info

Dockerfile関係

Dockerfileの書き方に関する基本的なことをまとめています。

ファイル名、配置場所

ファイル名Dockerfile  ⇐拡張子なし
ファイルの配置場所アプリのルートディレクトリ

書き込むコマンド

■FROM

ベースイメージの指定(OS、ライブラリなど)
※DockerHubno

イメージ一覧は以下
https://hub.docker.com/search?type=image

FROM <レジストリURL>/<名前空間>/<イメージ名>:<タグ>
 例1)FROM docker.io/library/ubuntu:20.04
 例2)FROM ubuntu:20.04 
        ↑↑レジストリURL省略時はdocker.io(DockerHub)

■WORKDIR

ディレクトリ作成。
以降の処理のDockerコンテナ側のカレントディレクトリとなる。

WORKDIR [コンテナ内のパス]
 例)WORKDIR /app

■COPY

ホスト側からコンテナへのファイル、ディレクトリのコピー

COPY [ホスト上のパス] [コンテナ内のパス]
 例)COPY . ./

■RUN

コマンド実行(実行タイミング:イメージビルド時)
※イメージの中にその結果を残す(ファイルやライブラリを追加)

RUN [コマンド]
 例)RUN apt update
 例)RUN apt install -y vim

■CMD

コマンド実行(実行タイミング:コンテナ起動時)
※Dockerコンテナはメインプロセスが終了するとコンテナも終了する。

このコマンドでサーバー起動などして、メインプロセスを継続させる。

CMD [”コマンド”]
 例)CMD [”npm”, “start”]   ⇐nmp startを実行

■ARG

Dockerfile内で使用する変数の設定

例)ARG VERSION=latest    ⇐代入
  FROM busybox:$VERSION  ⇐呼び出し

■ENV

環境変数の設定

ENV <key>=<value>
 例)ENV myName="John Doe”

書き方の例

以下はReactでの例です。

■フォルダ構成

/myapp
 - node_modules
 - public
 - src
 - .gitignore
 - Dockerfile     ⇐アプリのルートに配置
 - package.json
 - package-lock.json

■Dockerfile記述内容

# ベースイメージ(OSなど含む)の指定
FROM node:18-alpine

# コンテナ内に作業ディレクトリ(app)を作成。
WORKDIR /app

# アプリをコピー(ソースコードをまるごとイメージに含める)
COPY . .

# 依存ライブラリをインストール
RUN npm install

# アプリが動作するポートを指定
EXPOSE 3000

# アプリを起動(npm startを実行)
CMD ["npm", "start"]

Dockerイメージ関連コマンド

Dockerイメージ一覧
(ローカルのみ)
docker image ls
イメージの詳細情報を確認docker image inspect [イメージ名]
イメージのビルド履歴を確認docker image history [イメージ名]
Dockerfileからイメージをビルドdocker image build -t [任意のイメージ名] [Dockerfileのパス]
 例)docker image build -t sample .
イメージを削除docker image rm [イメージ名]
イメージのpulldocker image pull [イメージ名]
イメージのpushdocker image push [イメージ名]

Dockerコンテナ関連コマンド

コンテナ一覧(全て)docker container ls -a
コンテナ一覧(実行中のもののみ)docker container ls
イメージからコンテナ作成docker container create -p <ホストポート>:<コンテナポート> [イメージ名]
 例)docker container create -p 3000:3000 sampleimage

※docker container run:作成、起動を一括で実行するコマンド
コンテナを削除docker container rm [コンテナID]
コンテナを起動docker container start [コンテナID]
コンテナを停止docker container stop [コンテナID]
コンテナのログを確認docker container logs [コンテナID]
コンテナ内でコマンド実行docker container exec -it [コンテナID] [コマンド]

【補足】コンテナ内のCLIに接続しっぱなしにするなら以下
 docker container exec -it [コンテナID] bash
 docker container exec -it [コンテナID] sh

ボリューム関連コマンド

ボリューム一覧docker volume ls
詳細情報の確認docker volume inspect [ボリューム名]
ボリューム作成docker volume create [ボリューム名]
ボリュームの削除docker volume rm [ボリューム名]

ネットワーク関連コマンド

ネットワーク一覧docker network ls
詳細情報の確認docker network inspect [ネットワーク名]
ネットワークの作成docker network create [ネットワーク名]
ネットワークの削除docker network rm [ネットワーク名]
コンテナをネットワークに入れるdocker network connect –ip [IPアドレス] [ネットワーク名] [コンテナ名]
 例)docker network connect –ip 172.0.0.2 mynework mycontainer
コンテナをネットワークから外すdocker network disconnect [ネットワーク名] [コンテナ名]

Docker Compose関連のコマンド

バージョン確認docker compose version
コンテナを作成docker compose create
コンテナを削除docker compose rm
コンテナを起動docker compose start
コンテナを停止docker compose stop
コンテナのログを確認docker compose logs

公式のコマンド一覧ページ

 https://matsuand.github.io/docs.docker.jp.onthefly/engine/reference/commandline/docker/