3
1

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 2024-12-05

はじめに

こんにちは!ITスクールRareTECHでCS(Customer Support)を担当している池村です!
今回の記事はDockerの基本③の解説記事になります。シリーズものですので、まず先に①と②を見ていただけますと幸いです。

※Dockerを初めて触る人向けの記事になります。

前回の復習

前回はexecコマンドでコンテナの中に入って色々中を触ってみました。

execの復習
docker exec -it コンテナID or コンテナ名 /bin/bash

※コンテナのイメージによっては/bin/shになります。

今回の記事のコマンドでは、実際にコンテナの中に入ってそのコンテナの情報をイメージとして保存する。といったことをするので、execに慣れていない人は前の記事で復習してください。

そろそろdockerと打つのも面倒になってませんか?

aliasに登録して打つコマンドの文字数は減らしていきましょう。

aliasの設定
alias d="docker"

これでdと打てばシェルはdockerと打ち込まれたと判断してくれます。今回の記事で書かれるコマンドは基本的にdockerと書いていきます。
aliasの設定方法は以下の記事を参照してください。

ではコマンドの学習に入っていきましょう。

commit(コンテナをイメージ化して保存)

さて、コンテナの中を色々いじったら、次にコンテナをイメージ化して自分オリジナルのイメージを作ってみましょう。

今回はUbuntuの中に各種便利コマンドをインストールして、その状態でイメージを作成してみます。

まずはubuntuを起動
docker run -it ubuntu

起動をしたら、コンテナの中に入ったと思います。
では以下の順番でコマンドを叩いてみましょう。

aptをアップデート
apt update
各種コマンドをインストール
apt install -y fzf tmux tree zsh

-yはインストール時に求められる確認を全てYesで返答するものです。
これで必要なツールがインストールされたので、exitでコンテナから出てください。

次からがcommitコマンドを使うところですね。

commitコマンドの使い方
docker commit コンテナID 好きな名前

今回私はこんな形で実行しました。👇my_ubuntuという名前で、タグも一応つけておきました。タグをつけるには:をつけてお好きなタグ名をつけてください。

私の環境上
docker commit b3 my_ubuntu:0.1

b3は私の環境上でのコンテナIDなので、ハンズオンをする際はご自分のコンテナIDをdocker ps -aで確認をお願いします。

imagesで確認してみましょう。ご自身で作成したイメージがあると思います。
image.png

では次に自作したイメージを元にしたコンテナを立ち上げてみましょう。

自作イメージからコンテナを立ち上げる
docker run -it 自作したイメージの名前
docker run -it my_ubuntu:0.1

これでコンテナが立ち上がったと思います。

zshを使ってみる
zsh

これで無事zshが立ち上がっているなら問題なく、イメージをコンテナ化できました。
基本的にコンテナは削除した場合、コンテナ内でインストールしたものは消えてしまいます。(当たり前ですが)永続化したい場合、イメージとして作成する必要があります。(Dockerfileの件は置いておいて)

rmi(イメージの削除)

もう使わないイメージ類は消してしまいましょう。
今回はpullしてきたUbuntuのイメージを削除してみます。

イメージを消してみる
docker rmi イメージ名またはイメージID
docker rmi ubuntu

もちろん複数指定もできます。

複数まとめて削除
docker rmi イメージID1 イメージID2

現在稼働中のコンテナで使われているイメージは削除できません。stop➡︎rmしてから消してください。

prune(まとめて)

一個一個削除するのは大変なので、まとめて削除を行うこともできます。まずはコンテナを一括削除する方法を見ていきましょう。

コンテナの一括削除

使い方
docker container purne

コンテナが停止していることが大前提です。

イメージの一括削除

使い方
docker image prune

もちろん稼働しているコンテナに紐づくイメージは消せません。

その他のpruneで消せるもの

Dockerにはネットワークとボリュームという仕組みもあります。これももちろんpruneコマンドで一括削除が可能です。ここまでのDockerの記事でネットワークとボリュームの話は出てきていないので、今回は割愛します。

もちろん次回の記事では説明します。

もう全てを一括削除

もちろん、まとめて吹き飛ばすコマンドもあります。

使い方
docker system prune

上記を使うと、コンテナ、イメージ、ボリューム、ネットワーク、使われていない全てのリソースが消えてしまいます。

使い方に注意です。気をつけて使用してください。(確認メッセージが出る仕様ですが、無視するオプションもあります。興味があったら調べてみてください)

おわりに

ここまでの3つの記事で、コンテナの基本コマンドは使うことができるようになったと思います。この後はボリュームとネットワークの記事を執筆する予定です。次回も良かったら見ていただけたら嬉しいです。

次の記事👇

余談

何事も習慣化するには3週間はかかる、というのはよく聞きますよね。私は今この記事を書いた時点でまだ1週間目です。一旦記事を書くことを習慣化したく書き始めましたが、世の中の何百本も記事を書いている人には頭が上がりません(笑)バケモノたちがたくさんいるなぁ〜と改めてIT業界の優秀な人達に脱帽です。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?