Dockerコンテナの名前を指定する方法と変更する方法【--nameオプションとrenameコマンド】

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-ubuntu

docker 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を使えば、後からコンテナ名の変更も可能

お読みいただきありがとうございました。

スポンサーリンク