第44回 Dockerfileを「Quay.io」で管理する:古賀政純の「攻めのITのためのDocker塾」(2/2 ページ)
ホステッドレジストリを活用すると、Dockerイメージをアップして管理するだけでなく、Dockerfileをアップロードし、ホステッドレジストリでDockerイメージをビルドすることも可能です。今回はその方方を具体的に見ていきます。
Dockerfile以外のファイルも一緒にアップロードするには?
今回のような利用法の場合、Dockerfileだけでなく、関連するファイルなどを一緒にアップロードしなければならないことがあります。例えば、以下のようなDockerfileの例です。
local # cat /root/c68apache/Dockerfile FROM centos:6.8 RUN yum install -y httpd iproute COPY test.html /var/www/html/
上記のDockerfileでは、COPY行で、事前に用意したtest.htmlファイルをDockerイメージ内の /var/www/html ディレクトリにコピーしています。したがって、Quay.ioには、Dockerfile以外に、test.htmlファイルも一緒にアップロードする必要があります。Dockerfileとtest.htmlファイルを一緒にアップロードするには、以下のように、Dockerfileを含む圧縮されたtarアーカイブを作成します。
local # cd /root/c68apache/ local # tar czvf c68apache.tar.gz Dockerfile test.html local # ls -F Dockerfile c68apache.tar.gz test.html local # tar tzvf c68apache.tar.gz -rw-r--r-- root/root 80 2017-05-15 15:43 Dockerfile -rw-r--r-- root/root 14 2017-05-15 13:20 test.html
この圧縮されたtarアーカイブをQuay.ioにアップロードすると、Dockerfileとtest.htmlファイルを使ってDockerイメージをビルドすることができます。
以上で、ホステッドレジストリQuay.ioにアップロードしたDockerfileから、Dockerイメージをビルドし、手元のマシンにDockerイメージを入手、そしてコンテナを起動させることができました。
Quay.io以外のホステッドレジストリも、ぜひいろいろ使って使用感を比較検討してみてください。
古賀政純(こがまさずみ)
日本ヒューレット・パッカード オープンソース・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実践入門」などがある。趣味はレーシングカートとビリヤード。古賀氏の最新記事が読めるブログはこちら。
関連記事
- 第43回 Dockerイメージを「Quay.io」で管理する(セキュリティ編)
ホステッドレジストリには、アップロードしたDockerイメージのセキュリティ脆弱性をチェックする機能もあります。「Quay.io」を実際に操作しながら、セキュリティチェックの方法を確認します。 - 第42回 Dockerイメージを「Quay.io」で管理する(準備編)
ホステッドレジストリは、一般に「Docker Hub」が有名ですが、今回はNASAやeBayも利用しているホステッドレジストリの「Quay.io」を使って、実際にDockerイメージを管理してみます。 - 第41回 「ホステッドレジストリ」を知る――NASAも使っているDockerイメージ管理
今回からは、Dockerイメージの管理サービスについて紹介していきます。NASAのジェット推進研究所でも利用されているDockerイメージの管理サービスを例に、具体的な操作方法も披露します。 - 第37回 Dockerでソフトウェア定義型ネットワーキングツール「pipework」を活用する
前回まで、3回に渡ってOpenStackでも利用されているソフトウェア定義型ネットワーキングを実現するOpen vSwitch(OVS)とovs-dockerを使ってホストOSとコンテナを同一LANセグメントに所属させ、マルチホストのコンテナ間通信を実現しました。今回は、Docker基盤で古くから利用されている「pipework」を使ったネットワーキングをご紹介します。 - 第38回 pipeworkでDockerコンテナに固定IPアドレスを付与する(構築編その1)
ソフトウェア定義型ネットワークを実現する「pipework」のコンテナを実際に使って、ホストOSとDockerコンテナを同一LANセグメントに所属させることで、マルチホストのコンテナ間通信を行う手順を解説します。 - 第39回 DHCPとpipeworkでDockerコンテナに動的IPアドレスを付与する(構築編その2)
Open vSwitch(OVS)を構築したホストOS上で、ソフトウェア定義型ネットワークを実現する「pipework」を利用し、DHCPクライアントの機能を使って、Dockerコンテナに動的にIPアドレスを割り当てる手順を紹介します。
関連リンク
Copyright © ITmedia, Inc. All Rights Reserved.