1
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?

More than 1 year has passed since last update.

Docker環境構築・運用リファレンス:実行コマンドで学ぶ時短ハンドブック

1
Last updated at Posted at 2025-06-29

「自分のPCでは動くのに、他の環境だと動かない…」。これは開発者共通の悩みです。特にクラウドサービスでバッチ処理を実行する際には、プログラムを「コンテナ」化することが必須となりつつあります。

この「コンテナ」を作成する標準技術がDockerです。Dockerは、アプリと必要なライブラリ等をひとまとめにし、どんな環境でも同じように動く一貫性を実現します。

この記事は、理論よりまず手を動かしたいIT技術者向けの、コマンド中心の速習チュートリアルです。インストールからコンテナ実行まで、一連の流れを手っ取り早く体験してみましょう。

環境構築 - Dockerのインストール

Dockerのインストールはyumリポジトリから実行します。
以下の手順はすべてrootユーザーで実行します。

Step1. リポジトリの設定、Dockerのインストール

yumリポジトリを利用してインストールします。

yum update
yum install docker

Step2. 利用ユーザーのdockerグループへの追加

セキュリティ上、Dockerコマンドはroot権限を持つユーザーか、dockerグループに所属するユーザーしか実行できません。毎回sudoを付ける手間を省くため、現在のユーザーをdockerグループに追加します 。

usermod -a -G docker <利用ユーザー>

Step3. Dockerイメージの格納先変更

Dockerイメージはデフォルト設定だと/var/lib/dockerに格納されています。しかし運用を続けると数十GB以上に増加して空きディスクを圧迫することがあるため、他の大容量ディスク(NFSなど)に格納先を変更することを推奨します。

Dockerイメージの格納先は/etc/docker/daemon.jsonファイルのdata-root設定で指定できます。(ファイルが存在しない場合は新規作成します)

/etc/docker/daemon.json

{
  "data-root": "<格納ディレクトリ>"
}

Step4. Dockerサービスの自動起動設定

Dockerサービスを起動時に自動で立ち上がるように設定します 。

systemctl enable docker

運用

Dockerサービスの起動、停止

サービス起動

service docker start

サービス停止

service docker stop

サービス状態の確認

service docker status

基本要素 - Dockerイメージの取得と管理

Dockerイメージは、アプリケーションを実行するために必要なものすべて(コード、ランタイム、ライブラリなど)を含む、読み取り専用のテンプレートです 。コンテナは、このイメージから作成される実行中のインスタンスです

ローカルイメージの管理

一覧表示

docker imagesコマンドで、ローカルに保存されているイメージの一覧を確認できます 。

docker images

イメージのクリーンアップ

不要になったイメージを削除することで、ディスク容量を節約できます。

イメージの削除

docker rmiコマンドで、指定したイメージを削除します 。

docker rmi <イメージ名>

注意点として、あるイメージに複数のタグが付いている場合、rmiコマンドでタグを指定して削除しても、そのタグが削除されるだけでイメージ本体は残ります。イメージ本体が削除されるのは、そのイメージを指す最後のタグが削除されたときです 。コンテナが使用中のイメージは、-f(--force)オプションを付けない限り削除できません 。

不要なイメージの一括削除

開発過程で、どのコンテナからも参照されなくなった中間イメージ(dangling image)が溜まることがあります。これらはdocker image pruneコマンドで安全に一括削除できます 。

docker image prune

さらに、停止中のコンテナからも使用されていないすべてのイメージを削除するには-aオプションを使います。

docker image prune -a

独自環境の構築 - Dockerfileによるイメージビルド

Dockerfileは、カスタムDockerイメージを自動でビルドするための手順を記述したテキストファイルです 。これにより、誰が実行しても同じ環境を再現できます。

Dockerfileの構造

ここでは、シンプルなNode.jsアプリケーションをコンテナ化するDockerfileを例に、その構造を解説します。

Dockerfile

# 1. ベースイメージの指定
FROM <イメージ名>

# 2. コマンド実行:パッケージのインストールなど
#    (例)RUN yum install -y python3
RUN <コマンド>

# 3. ローカルからファイルのコピー
#    ワイルドカードの使用も可
COPY <コピー元ディレクトリ、ファイル> <コピー先ディレクトリ>

# 4. コンテナ起動時に実行するスクリプトの定義
#    (例)ENTRYPOINT ["/root/init.sh"]
ENTRYPOINT ["<実行スクリプト>"]
命令文 書式 処理
FROM FROM <イメージ名> ベースとなるイメージをリポジトリからダウンロードする
RUN RUN <コマンド> コマンドを実行する。yumコマンドでパッケージインストールも可
COPY COPY <コピー元ディレクトリ、ファイル> <コピー先ディレクトリ> ローカルからファイルをコピーする
ENTRYPOINT ENTRYPOINT ["<実行スクリプト>"] コンテナ実行時に呼び出されるスクリプトを指定する

ビルドの実行:docker build

Dockerfileがあるディレクトリで以下のコマンドを実行すると、イメージがビルドされます。

docker build ./ -t <イメージ名>

コンテナの実行と管理

イメージをビルドしたら、次はそのイメージからコンテナを起動し、管理します。ここでは開発ワークフローに沿って、コンテナのライフサイクルを管理するコマンドを解説します。

コンテナの起動:docker run

docker runは、イメージからコンテナを生成し起動するための中心的なコマンドです 。開発で頻繁に使用する主要なオプションは以下の通りです。

docker run -it <イメージ名> /bin/bash

実行コンテナに環境変数を渡す

-eオプションで変数名と値を指定します。

docker run -e <変数名>=<値> -it <イメージ名> /bin/bash

ホストOSの環境変数を直接渡すことも可能です。

docker run -e <環境変数名> -it <イメージ名> /bin/bash

コンテナの監視と確認:docker ps

現在実行中のコンテナの一覧を表示します 。

docker ps

停止中のコンテナも含め、すべてのコンテナを表示します。これは、意図せず残ってしまったコンテナを見つけるのに役立ちます 。

docker ps -a

コンテナのログ確認:docker logs

コンテナのログ(標準出力・標準エラー出力)を表示します 。

docker logs <CONTAINER ID>

tail -fのように、ログをリアルタイムでストリーミング表示します 。

docker logs -f <CONTAINER ID>

コンテナの状態管理

docker stop

実行中のコンテナを正常に停止させます(SIGTERMシグナルを送信) 。

docker stop <CONTAINER ID>

docker start

停止しているコンテナを起動します 。

docker start <CONTAINER ID>

docker kill

stopで停止しないコンテナを強制的に終了させます

docker kill <CONTAINER ID>

コンテナの削除:docker rm

停止しているコンテナを削除します。

docker rm <CONTAINER ID>

実行中のコンテナを強制的に削除します

docker rm -f <CONTAINER ID>

本稿では、Dockerのインストールからイメージの管理、Dockerfileによるカスタムイメージのビルド、そしてコンテナの実行と管理まで、開発者が最初に知るべき一連のワークフローを駆け足で解説しました。

ここで紹介したコマンドとベストプラクティスは、Dockerを使いこなすための強固な土台となります。特に、ビルドキャッシュを意識したDockerfileの記述や.dockerignoreの活用は、日々の開発効率を大きく向上させるでしょう。

次のステップとして、ぜひご自身のプロジェクトをコンテナ化することに挑戦してみてください。このガイドが、あなたのDockerの旅の第一歩となれば幸いです。

さらに詳しい情報やチュートリアルについては、Xアカウントをフォローしてください。

1
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
1
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?