Dockerを使い始めると、次のような状況に遭遇することがよくあります。
- コンテナ名が
beautiful_margulisみたいな自動生成名になっている - 複数コンテナがあってどれがどれかわからなくなった…
- 分かりやすいコンテナ名を付けて管理したい!
このような悩みを解決するのが--nameオプションです。
この記事では、次の内容を順番にわかりやすく解説します。
- Dockerコンテナの名前とは?
--nameオプションの使い方- すでに作成済みのコンテナの名前を変更する方法
Dockerコンテナの名前とは?
Dockerコンテナには、必ず1つの名前が付けられます。Dockerコンテナ作成時に名前を指定しなかった場合、Dockerが自動でコンテナ名を付けます。一例として、以下のコマンドを実行して、Ubuntuコンテナを起動してみましょう。
docker run -it ubuntu:latest上記のコマンドでは、名前を指定していないため、Dockerがランダムなコンテナ名を付けます。作成されたコンテナを確認するために、docker container ls -aコマンドで作成されたDockerコンテナを確認してみると、ubuntu:latestイメージから作成されたDockerコンテナにbeautiful_margulisという名前が自動で付けられたことがわかります。
$ docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a3d7a24de312 ubuntu:latest "/bin/bash" 59 seconds ago Up 59 seconds beautiful_margulis自動生成されたコンテナ名のデメリット
自動生成された名前には、次のようなデメリットがあります。
- 何の用途のコンテナか分かりにくい
- コンテナが増えるほど管理しづらくなる
- コマンド実行時に名前を間違えやすい
そのため、実運用や学習では、分かりやすい名前を自分で付けることが重要です。
Dockerコンテナの名前を指定する「--nameオプション」とは?
--nameオプションは、Dockerコンテナ作成時に名前を指定するためのオプションです。基本構文を以下に示します。
基本構文
docker run [オプション] --name コンテナ名 イメージ名この構文では、
--name コンテナ名でコンテナの名前を指定イメージ名でどのイメージから作るかを指定
しています。
例えば、以下のコマンドでは、Ubuntuコンテナにmy-ubuntuという名前を付けて起動しています。
docker run -it --name my-ubuntu ubuntu:latest作成されたコンテナを確認するために、docker container ls -aコマンドで作成されたDockerコンテナを確認してみると、ubuntu:latestイメージから作成された名前がmy-ubuntuのコンテナであることが、一目で分かるようになります。
$ docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d727bbe25302 ubuntu:latest "/bin/bash" 5 seconds ago Up 5 seconds my-ubuntu
a3d7a24de312 ubuntu:latest "/bin/bash" 2 minutes ago Up 2 minutes beautiful_margulisコンテナ名を付けるだけで、管理のしやすさが大きく向上します。
すでに作成済みのコンテナの名前を変更する方法
「Dockerコンテナを作った後で、--nameを付け忘れたことに気づいた・・・」。このような場合でも安心です。Dockerでは後からコンテナ名を変更できます。基本構文を以下に示します。
基本構文
docker container rename 旧コンテナ名 新コンテナ名例えば、以下のコマンドでは、beautiful_margulisという名前のDockerコンテナをrename-ubuntuに変更しています。
docker container rename beautiful_margulis rename-ubuntudocker container ls -aコマンドでコンテナを確認してみると、rename-ubuntuに変更されたことがわかります。
$ docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d727bbe25302 ubuntu:latest "/bin/bash" About a minute ago Up About a minute my-ubuntu
a3d7a24de312 ubuntu:latest "/bin/bash" 3 minutes ago Up 3 minutes rename-ubuntu本記事のまとめ
この記事では『Dockerコンテナの名前の指定方法・変更方法』について、以下の内容を説明しました。
- Dockerコンテナには必ず名前が付く
- 名前を指定しないと、Dockerがランダムなコンテナ名を自動生成する
--nameオプションを使うと、コンテナ作成時に分かりやすい名前を付けられるdocker container renameを使えば、後からコンテナ名の変更も可能
お読みいただきありがとうございました。