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初心者向け】UbuntuでDockerを扱う

0
Last updated at Posted at 2026-02-17

はじめに

最近Dockerについて勉強しました。

本記事は開発現場で使う基本的なコマンドや環境構築の手順をまとめてみた!になります

おすすめの読者

  • UbuntuでDockerを始めたい方
  • Dockerコマンドの意味を理解したい方

前提条件

  • ターミナルの基礎的な操作ができる

注意
本記事ではDocker Desktopは扱っていません。Linux (Ubuntu) 環境でのCLI操作になりますのでご了承ください。

Docker とは?

Docker(ドッカー)とは、「コンテナ」と呼ばれる独立した環境を使って、アプリケーションの開発・配布・実行を行うためのオープンソースプラットフォームです。

特徴は、アプリケーション本体だけでなく、動作に必要なライブラリや設定ファイルなどをまるごと一つの「箱(コンテナ)」に詰め込める点です。

Dockerを使うメリット

Dockerを使うと主に次の2つのメリットがあります。

①「自分の環境では動くのに」がなくなる

メンバー全員が同一のコンテナ構成で開発を行うため、「自分のPCでは動くのに、チームメンバーの環境ではエラーになる」といった問題が発生しません。

環境構築の手順が標準化されるため、新メンバーがプロジェクトに参加する際の立ち上がりも非常にスムーズになります。

② アプリケーションの管理が簡単になる

アプリごとに独立したコンテナを作るため、例えば「アプリAはPHP 7、アプリBはPHP 8」のように、異なるバージョンの共存が容易になります。

また、PC本体にツール等を直接インストールすることなく、コンテナの中だけで完結して利用できるのも大きな利点です。

Dockerの用語説明

この後に出てくる用語に混乱しないようにDockerの要素について簡単に説明します。

Dockerコンテナ
アプリケーションを実行できる隔離された環境です。
開発環境の統一やデプロイの高速化を実現します。

Dockerイメージ
コンテナを作成するための金型です。
読み取り専用で、どこでも同じ環境を再現できます。

Dockerfile
Dockerイメージを作成するための設計図になります。テキスト形式で構築手順(OSの設定やインストールコマンドなど)を記述し、環境の再現性を担保します。

Docker Compose
複数のコンテナを定義・実行する一括管理ツールです。docker-compose.yml に設定を書くことで、複雑な連携が必要な環境もコマンド1つで操作できます。

関係性を図にすると以下のようになります。

UbuntuへのDockerインストール方法

実際にUbuntuにDockerをインストールしてコンテナを実行するところまで解説します。

1. 既存の古いDockerパッケージの削除

過去にインストールされた古いバージョンが残っていると不具合の原因になります。

以下のコマンドを実行して、競合するパッケージをアンインストールします。

for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done
コマンドの詳しい解説(クリックで展開)

for はシェルスクリプトにおける繰り返しコマンドです。

  • for pkg in …: ここに書かれた docker.iodocker-doc などのリストを一つずつ取り出し、一時的に pkg という変数に入れます。
  • do …: ここから繰り返したい処理が始まります。
  • sudo apt-get remove $pkg;: ここで実際に削除コマンドを実行します。$pkg の部分が、その都度リストから取り出した名前に置き換わります。
  • done: 繰り返しの終了地点です。

このようにすることで、何度も削除コマンドを実行する手間を省くことができます。

2. Docker公式リポジトリの追加

Ubuntu標準のリポジトリは安定していますが、バージョンが古いことがあるため、開発元が直接提供する公式リポジトリを追加します。

パッケージ情報の更新と必須ツールのインストール

sudo apt-get update
sudo apt-get install ca-certificates curl

GPGキーの保存用ディレクトリ作成
aptがパッケージの正当性を検証するための「署名鍵」を配置する場所を作ります。

sudo install -m 0755 -d /etc/apt/keyrings

Docker公式のGPGキーをダウンロード

$ sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc

GPGキーの読み取り権限を設定

sudo chmod a+r /etc/apt/keyrings/docker.asc

なぜこれが必要?
正規のGPGキーを登録することで、Dockerをインストールする際、悪意のあるユーザーによるソフトウェアのすり替えを防ぐことができます。

リポジトリをAPTソースリストに追加

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

上記で出てきた、GPGキーはGPGキー(GNU Privacy Guard Key)は、データやメールの暗号化・復号、電子署名に利用される公開鍵と秘密鍵のペアのことです。

ここでは詳しい説明は省きます。

3. Docker Engineのインストール

リポジトリを追加したので、一度更新します。

sudo apt-get update

最新版のDocker関連ツールを一括でインストールします。

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
ツール名 役割
docker-ce Docker本体(Community Edition)
docker-ce-cli コマンドで操作するためのツール
containerd.io コンテナを動かすための実行基盤
docker-compose-plugin 複数のコンテナを管理する機能

動作確認
以下のコマンドでバージョンが表示されればインストール完了です。

docker -v
# 出力例: Docker version 29.1.2, build 890dcca

サービスの稼働状況も確認しておきましょう。

Active: active (running) となっていればOKです。

systemctl status docker.service

4. 一般ユーザーで実行できるようにする

デフォルトでは docker コマンドの実行に sudo(root権限)が必要です。毎回 sudo を打つのは大変なので、一般ユーザーでも実行可能にします。

設定手順

  1. dockerグループの作成(存在しない場合)
    sudo groupadd docker
    
  2. ユーザーをdockerグループに追加
    sudo usermod -aG docker $USER
    
  3. グループ設定の反映
    newgrp docker
    

動作確認
sudo なしで以下のコマンドが実行できれば設定完了です!

docker run hello-world

Docker の基本コマンドまとめ

docker stats

現在動いているコンテナが、PCのリソース(CPUやメモリ)をどれくらい使っているかをリアルタイムで監視するコマンドです。

実行すると以下のような項目が表示されます。

項目 説明
CONTAINER ID コンテナ固有のID
NAME コンテナ名
CPU % CPU使用率
MEM USAGE / LIMIT メモリ使用量 / メモリ上限
MEM % メモリ使用率
NET I/O ネットワーク受信量 / 送信量
BLOCK I/O ディスク読み込み量 / 書き込み量
PIDS プロセスIDの数

docker images

PCの中に保存されている「Dockerイメージ(設計図)」の一覧を表示します。

docker images
項目 説明
REPOSITORY イメージの名前(例: ubuntu, nginx)
TAG バージョンタグ(例: latest, 20.04)
IMAGE ID イメージ固有のID
CREATED 作成された日時
SIZE イメージのサイズ

docker ps

起動中のコンテナ一覧を表示するコマンドです。docker ps -a とオプションをつけると、停止しているコンテナも含めてすべて表示します。

docker logs <コンテナ名またはID>

コンテナが出力したエラーメッセージや履歴を確認する時に使います。
プログラムがうまく動かない時の調査に必須です。

  • docker logs -f <コンテナ名>:リアルタイムでログを流し見できます

docker exec -it <コンテナ名> bash

動いているコンテナの中に入るコマンドです。

コンテナ内で直接コマンド操作ができます。※ コンテナによっては bash が入っておらず、 sh を使う場合もあります(docker exec -it <名前> sh)。

docker stop <コンテナ名>

コンテナを一時停止するコマンドです。データや設定は残ります。

docker rm <コンテナ名>

コンテナを削除するコマンドです。基本的には停止したコンテナのみ削除できます。

docker system prune

停止しているコンテナ、使われていないネットワークなどをまとめて削除します。

注意
停止中のコンテナが全て消えるので、消したくないものがある場合は気をつけてください。

まとめ

本記事では、Ubuntu環境におけるDockerのインストール手順から、開発現場でよく使う基本的なコマンドや環境構築の手順をまとめてみました。

Dockerを導入することで、開発環境の構築手順をドキュメントではなく「設定ファイル」として管理できるようになります。これにより、OSの差異による不具合を防ぎ、スムーズなチーム開発や一貫性のある個人開発が可能になります。

ここで紹介していないコマンドもたくさんあるので、ぜひ生成AIなども活用しながら色々試すのもいいかもしれませんね!

参考記事

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?