お問い合わせはこちら

【入門】Docker login(ログイン)の基礎知識と使い方

公開

Docker loginは、Dockerのレジストリにログインする際に使うコマンドです。Docker loginコマンドにてDockerのレジストリを利用することによって、コンテナをより便利に活用できるようになります。

その一方で、そもそもDockerのレジストリとは何かやDocker loginの使い方が分からない方も多いのではないでしょうか。この記事では、Dockerのレジストリとは何かといった基本から、docker loginの使い方まで分かりやすく解説しています。

そもそも「Docker login」とは?【Dockerのレジストリにログインする手段】

Docker loginとは、Dockerのレジストリにログインするための手段です。レジストリにログインすることによって、レジストリの各機能が使えるようになります。

レジストリとはIT用語において、情報を登録し保存しておくシステムを指す言葉です。それではDockerにおける「レジストリ」とはなんでしょうか。次の項では、Dockerのレジストリとは何かみていきましょう。

Dockerのレジストリとは

Dockerのレジストリとは、「Dockerイメージ」※を保存するためのサービスを指す言葉です。Dockerで使うDockerイメージはレジストリ内に保存されます。

※ Dockerイメージは、OSやアプリケーション、アプリケーションの各種設定・変数まで含んだテンプレートです。コンテナにDockerイメージを適用することによって、そのテンプレートに登録された通りにアプリケーションが動作するようになります。Dockerイメージを使うことで、アプリケーションのインストールや設定をいちいち行わないでよくなるわけです。

より正確にいうとDockerイメージは、レジストリそのものでなくイメージの種類ごとに分類され「リポジトリ」に登録されます。そうして複数のリポジトリが、レジストリ内に格納されているわけです。リポジトリでは、同じ種類のDockerイメージを専用のタグによって区別しています。

レジストリのイメージ図

レジストリ(リポジトリ)に登録されたイメージを取得し、適宜コンテナに適用することができます。また自ら作成したDockerイメージを、レジストリ(リポジトリ)へ登録し他ユーザーと共有することも可能です。

またDockerのレジストリは、誰でも使える「パブリックレジストリ」の他、非公開のレジストリ「プライベートレジストリ」もあります。

Docker用のレジストリとして代表的なのが、Docker Hubと呼ばれる公式のクラウドサービスです。Docker Hubは誰でも使えるDockerのレジストリですが、Docker Hub内にプライベートレジストリを作成するためには有料会員になる必要があります。

Docker loginの使い方

Docker loginによって、Dockerのレジストリにログインして使えるようになります。以下、Docker loginの使い方を1つずつみていきましょう。

あらかじめDocker Hubのアカウントを作成しておく

Docker loginを使うためには、あらかじめDocker Hubにアカウントを作っておく必要があります。アカウントを作ることで、Docker Hub上で公開されたDockerイメージを取得できるようになるのです。ユーザー自身で作成したDockerイメージを、Docker Hubにアップロードして公開し、他のユーザーと共有することもできるようになります。

【Docker Hubでのアカウント作成方法】

1.Docker Hub公式サイトへアクセスします。

Docker Hubのサインイン画面

2.画面の指示に従い必要な情報を入力し「Sign Up」をクリックします。

Docker Hubのサインアップ方法

これでDocker Hub用のアカウント作成は完了です。今後は作成したアカウントを使い、Docker Hubサービスにログインしたりサービスを利用したりすることができます。

基本的な使い方

docker loginの基本的な書式は以下の通りです。

docker login -u username -p password server

上記「server」の部分に、ログイン対象のレジストリを指定してください。レジストリを指定せずにコマンドを実行すると、Docker Hub (https://hub.docker.com/ )へログインします。

また、ローカルのホストへログインするためのコマンドは以下の通りです。

docker login localhost:8080

Dockerレジストリからログアウトしたい場合は、以下コマンドを実行します。

docker logout server

上記「server」の部分に、ログイン対象のレジストリを指定してください。

利用可能なオプションの種類

docker loginで利用可能なオプションの詳細は、以下の通りです。

-u , --username ユーザー名の指定
-p , --password パスワードの指定
--help ヘルプを表示する
--password-stdin パスワードを標準入力から読み取る

【参考】Docker Hubからイメージを検索・ダウンロードする方法

ここでは参考までにdocker Hubにログイン後、dockerイメージを検索・ダウンロードする基本的な方法を紹介します。

まず、Dockerイメージは以下コマンドにて検索可能です。

docker search image_name

「image_name」の部分に、検索対象のイメージを入力してください。

上記コマンドで最大25件まで検索結果が表示されます。

以下はコマンドの入力例と検索結果の例です。

docker search busybox 
NAME               DESCRIPTION     STARS OFFICIAL AUTOMATED 
busybox            Busybox base image.      2762      [OK]
radial/busyboxplus    Full-chain…           49       [OK]
yauritux/busybox-curl  Busybox with CURL    18

(以下省略)

上記検索結果で、「STARS」は人気順を示し、STARS(星)の数が多いほど人気があるということです。またOFFICIALは、各ベンダーが公式のイメージとして公開しているかどうかを示しています。OKであれば、公式のイメージということです。AUTOMATEDは、自動構築されたイメージか否かを示しています。

docker search「–limitオプション」にて、以下のように最大表示件数を指定することも可能です。

docker search --limit 50 image_name

上記コマンドでは、最大50件のイメージが表示されます。

検索したdockerイメージは以下コマンドにてダウンロードが可能です。

docker pull image_name:タグ

タグを省略した場合は、最新版 (latest)がダウンロードされます。以下は使用例です。

docker pull centos

まとめ

Docker login(ログイン)は、Dockerのレジストリにログインし利用するためのコマンドです。Dockerにおいてレジストリとは、Dockerイメージを保存するサービスを指します。ユーザーはDockerのレジストリにログインすることで、目的のDockerイメージを検索・ダウンロードしコンテナへ適用することが可能です。

Docker loginを行う際は、あらかじめDocker Hubのアカウントを作成しておきます。Docker Hubとは、Docker社が公式で運営しているクラウド上のレジストリサービスです。Docker Hubのアカウントを作成しDocker Hubにログインすることで、本サービスに登録された多くのDockerイメージを利用できるようになります。またログイン後に、自分で作成したDockerイメージを保存・公開することも可能です。