連載
» 2017年10月06日 08時00分 公開

古賀政純の「攻めのITのためのDocker塾」:第49回 Dockerプライベートレジストリにユーザー認証を付ける(準備編) (3/3)

[古賀政純(日本ヒューレット・パッカード),ITmedia]
前のページへ 1|2|3       

ユーザー認証用のDockerコンテナの起動

 秘密鍵、証明書、ユーザーの暗号化されたパスワードを記載したYMLファイルがそろいましたので、Cesanta Software提供のAuthorization ServiceのDockerイメージ「cesanta/docker_auth」のコンテナを起動します。Dockerコンテナ名は、「docker_auth01」としました。ポート番号は、5001番を使用します。

dpr # docker run \
-d \
-v /hostdir/auth_server/config:/config:ro \
-v /hostdir/log/docker_auth:/logs \
-v /hostdir/auth_server/ssl:/ssl \
-p 5001:5001 \
--restart=always \
--name docker_auth01 \
cesanta/docker_auth /config/auth_config.yml

 Dockerコンテナ「docker_auth」が起動しているかを確認します。

# docker ps -a
CONTAINER ID    IMAGE                 COMMAND                ...  PORTS                    NAMES
5b7e66872df1    cesanta/docker_auth   "/docker_auth/auth..." ...  0.0.0.0:5001->5001/tcp   docker_auth01

 これで、Authorization Serviceが起動しましたので、Dockerプライベートレジストリのユーザー認証機能を提供できます。

Dockerプライベートレジストリの起動

 DockerプライベートレジストリをDockerコンテナとして起動します。Dockerイメージは、連載第46回でご紹介したときと同様に、「registry:latest」を使用します。Dockerコンテナ名は、「registry01」としました。連載第46回で示したDockerプライベートレジストリの起動方法と比べると、付与するオプションに違いがあることに注意してください。

dpr # docker run -d -p 5000:5000 \
-e REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY=/var/lib/registry \
-e REGISTRY_AUTH=token \
-e REGISTRY_AUTH_TOKEN_REALM=https://172.16.1.100:5001/auth \
-e REGISTRY_AUTH_TOKEN_SERVICE="Docker registry" \
-e REGISTRY_AUTH_TOKEN_ISSUER="Auth Service" \
-e REGISTRY_AUTH_TOKEN_ROOTCERTBUNDLE=/ssl/server.pem \
-v /hostdir/auth_server/ssl:/ssl \
-v /hostdir/docker_registry/data:/var/lib/registry \
--restart=always \
--name registry01 registry:latest

 DockerプライベートレジストリのDockerイメージがダウンロードされて、Dockerコンテナとして起動しているかを確認します。

dpr # docker images
REPOSITORY          TAG        IMAGE ID            CREATED             SIZE
registry            latest     136c8b16df20        2 weeks ago         33.2MB
# docker ps -a
CONTAINER ID    IMAGE                 COMMAND                  ...  PORTS                    NAMES
477a2d6b7952    registry:latest       "/entrypoint.sh /e..."   ...  0.0.0.0:5000->5000/tcp   registry01
5b7e66872df1    cesanta/docker_auth   "/docker_auth/auth..."   ...  0.0.0.0:5001->5001/tcp   docker_auth01

 今回は、Cesanta Software提供のAuthorization Serviceと、パスワード認証付きのDockerプライベートレジストリの構築手順について紹介しました。次回は、ユーザー認証付きのプライベートレジストリの使用法を紹介します。

古賀政純(こがまさずみ)

日本ヒューレット・パッカード オープンソース・Linuxテクノロジーエバンジェリスト。兵庫県伊丹市出身。1996年頃からオープンソースに携わる。2000年よりUNIXサーバのSEおよびスーパーコンピューターの並列計算プログラミング講師、SIを経験。2006年、米国ヒューレット・パッカードからLinux技術の伝道師として「OpenSource and Linux Ambassador Hall of Fame」を2年連続受賞。プリセールスMVPを4度受賞。現在は日本ヒューレット・パッカードにて、Hadoop、Spark、Docker、Linux、FreeBSDなどのサーバ基盤のプリセールスSE、文書執筆を担当。日本ヒューレット・パッカードが認定するオープンソース・Linux テクノロジーエバンジェリストとして、メディアでの連載記事執筆、講演活動なども行っている。Red Hat Certified Virtualization Administrator, Novell Certified Linux Professional, Red Hat Certified System Administrator in Red Hat OpenStack, Cloudera Certified Administrator for Apache Hadoopなどの技術者認定資格を保有。著書に「Mesos実践ガイド」「OpenStack 実践ガイド」「Docker 実践ガイド」「CentOS 7実践ガイド」「Ubuntu Server実践入門」などがある。趣味はレーシングカートとビリヤード。古賀氏の最新記事が読めるブログはこちら


前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ