Dockerコンテナとイメージの管理をマスターしよう

目次

✅ 概要

Dockerは、アプリケーションを効率的かつ軽量に動かすためのコンテナ技術です。この記事では以下をわかりやすく解説します。

  • Dockerの導入とネットワーク構成
  • コンテナの起動・停止・接続操作
  • コンテナイメージの取得・作成・管理

🧩 Dockerの導入とネットワーク構成

📦 インストール例(Ubuntu)

sudo apt update
sudo apt install docker.io
sudo systemctl start docker
sudo systemctl enable docker

🌐 ネットワークの構成

Dockerは起動時にいくつかのネットワークを作成します。

モード説明
bridgeデフォルト、NAT方式
hostホストのネットワークを共有
noneネットワーク無し
overlayマルチホスト間ネットワーク(Swarm用)

ポート変換の例(ホスト:8080 → コンテナ:80)

docker run -d -p 8080:80 nginx

フラットL2ネットワーク(macvlan)

docker network create -d macvlan \
--subnet=192.168.100.0/24 \
--gateway=192.168.100.1 \
-o parent=eth0 macvlan_net

▶️ Dockerコンテナの基本操作

コンテナの起動

docker run -it --name mycontainer ubuntu bash

停止・再起動・削除

操作コマンド例
停止docker stop mycontainer
強制停止docker kill mycontainer
再起動docker restart mycontainer
一時停止docker pause mycontainer
再開docker unpause mycontainer
削除docker rm mycontainer

実行中のコンテナ確認・状態確認

docker ps         # 実行中一覧
docker stats # リソース使用状況表示

🔗 コンテナへの接続と操作

操作内容コマンド
端末へアタッチdocker attach mycontainer
別プロセスの実行(非干渉)docker exec -it mycontainer bash

attachは終了するとコンテナも停止します。execの方が安全です。


🗂️ コンテナイメージの管理

レジストリとのやり取り

操作コマンド
イメージ取得docker pull ubuntu:20.04
イメージ一覧docker images
イメージ削除docker rmi ubuntu:20.04
イメージのインポートdocker import url_or_file myimage:tag

🛠️ Dockerfileによるイメージ作成

例:Node.jsアプリのDockerfile

FROM node:18
WORKDIR /app
COPY . .
RUN npm install
CMD ["node", "index.js"]

ビルドと実行

docker build -t mynodeapp .
docker run -p 3000:3000 mynodeapp

コンテナからイメージ化(状態保存)

docker commit mycontainer saved_image:latest

📝 まとめ

機能コマンド/概念
コンテナ実行docker run, docker ps
コンテナ管理stop, restart, pause, rm
イメージ管理pull, rmi, images, build
コンテナ接続exec, attach
Dockerfile作成docker build, commit
ネットワーク設定-p, bridge, macvlanなど
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次