ユーザガイドの基礎的な使い方ではおそらく最後の章になる
Working with Docker Hub
https://docs.docker.com/userguide/dockerrepos/
を翻訳してみました。
参考にされる場合は、at your own riskでお願いします。
-------
Docker Hubの動作
これまでに、ローカルホスト上でDockerを実行するためのコマンドの使い方を学習してきました。そして、既存のイメージからコンテナをビルドするためのイメージの取得し、自分のイメージの作成する方法を学びました。
続いて、Docker Hubの簡単な使い方とDockerワークフローについて学習しましょう。
Docker Hub は Docker Incによって管理されている公式レジストリです。15,000を超えるイメージをダウンロードしてコンテナのビルドに使うことができます。また、認証、ワークグループ構造、webhooks やビルドトリガのようなワークフローツール、公に共有したくないイメージを保管するためのプライベートリポジトリのようなプライバシーツールも提供しています。
DockerコマンドとDocker Hub
Docker自身は docker search, pull, login, push コマンドを通じてDocker Hubへのアクセスを提供しています。このページではこれらのコマンドの使い方を学習します。
アカウントの作成とログイン
一般的には、Docker Hubのアカウント新規作成(まだ済んでいないのであれば)とログインからはじめます。Docker Hub上でアカウントディレクトリを作成するには次のように実行します:
$ sudo docker login
このコマンドを実行すると、ユーザ名を要求するプロンプトが表示されます。ユーザ名はあなたの公式リポジトリの公式ネームスペースとなります。ユーザ名が有効であれば、Dockerはパスワードと電子メールアドレスを要求するプロンプトが表示されます。そして自動的にログインし、ローカルリポジトリからDocker Hubへのイメージのコミットやプッシュが可能になります。
注意:
認証情報はホームディレクトリ上の.dockercfg 認証ファイルへ格納されます。
イメージの検索
Webの検索インターフェイス経由もしくはコマンドラインインターフェイスを使ってDocker Hubリポジトリを検索することができます。イメージ名、ユーザ名、もしくは説明から検索したイメージを探すことができます:
$ sudo docker search centos
NAME DESCRIPTION STARS OFFICIAL TRUSTED
centos Official CentOS 6 Image as of 12 April 2014 88
tianon/centos CentOS 5 and 6, created using rinse instea... 21
...
上記では2つの結果サンプル(centosとtianon/centos)が確認できます。2番めの結果から、ユーザ名「tianon/」の公式リポジトリのもので、最初の結果のほうの「centos」は明確にリストされていません。これは信頼されたトップレベルのネームスペースだからです。
希望するイメージを発見したら、「docker pull
$ sudo docker pull centos
Pulling repository centos
0b443ba03958: Download complete
539c0211cd76: Download complete
511136ea3c5a: Download complete
7064731afe90: Download complete
Status: Downloaded newer image for centos
これでイメージをダウンロードしたので、コンテナを起動できるようになりました。
Docker Hubへの貢献
誰もがDocker Hub レジストリから公式イメージをダウンロードできます。しかし、もしあなたが作成したイメージを共有したいのであれば、[[Docker Hub ユーザガイドの最初のセクション>Docker/UserGuide/UsingDockerHub]]にあるとおり、最初に登録しなければなりません。
レジストリからDocker Hubへのpush
リポジトリからpushするためには、イメージに名前をつけるか、ここで学習したようにコンテナから名前をつけたイメージへコミットします。
このリポジトリから名前もしくはタグでデザインされたレジストリへpushします。
$ sudo docker push yourname/newimage
イメージがチームメイトや/もしくはコミュニティによりアップロードされます。
Docker Hubの機能
Docker Hubの機能についてより詳しく学習しましょう。
- プライベートリポジトリ
- 組織とチーム
- 自動ビルド
- Webhooks
プライベートリポジトリ
公式に誰にでも公開したくないイメージもあるとおもいます。Docker Hubはプライベートリポジトリも許可しています。ここのサイトからプランを選択してください。
訳者注:
翻訳時点で無料アカウントは1つのプライベートリポジトリしか持てません。
組織とチーム
プライベートリポジトリの利点の1つとして、組織もしくはチームのメンバ内だけで共有できることがあります。Docker Hub は、同僚と協業してプライベートリポジトリを管理するために、組織を作成させます。ここから組織の構築、管理方法を学習できます。
自動ビルド
自動ビルドはGitHubからBitBukketへ、Docker Hub上のディレクトリの、イメージのビルドや更新を自動化します。コミットをプッシュした時ビルド及び更新がトリガリングすることで、選択されたGitHubやBitBucketリポジトリへコミットフックを追加します。
自動ビルドのセットアップ
- Docker Hubにアカウントを新規作成しログイン
- "Link Accounts"メニューからGitHub/BitBucketアカウントをリンク
- 自動ビルドの設定を実施
- ビルド対象のDockerfileを保持するGitHub/BitBucketプロジェクトをpick
- ビルド対象のブランチをpick(デフォルトはマスターブランチ)
- 自動ビルド名をつける
- ビルドへオプションのDockerタグを割り当て
- Dockerfile対象を特定(デフォルトでは/)
自動ビルドが設定されると、ビルドが自動的にトリガリングされ、数分後、 Docker Hub レジストリ上に新規自動ビルドを確認することができます。自動ビルドが無効化されるまで、GitHub/BitBucketリポジトリのsyncを待機します。
自動ビルドのステータをを確認したい場合、Docker Hubの自動ビルドページを開いてください。ビルドステータスとビルド履歴を確認することができます。
作成した自動ビルドは、無効化や削除することができます。ただし、「docker push」コマンドを使って自動ビルドのpushはできません。コードをGitHub/BitBucket リポジトリへコミットすることでのみ管理可能です。
リポジトリに対して複数の特定のDockerfileもしくはGitブランチを指定した自動ビルドを作成・設定できます。
ビルドトリガ
自動ビルドはDocker Hub上のURL経由でもトリガ実行可能です。これは必要に応じて自動ビルドイメージのリビルドを可能にしています。
Webhooks
Webhooks はリポジトリに紐付けられており、あるイメージもしくは更新イメージがリポジトリへpushされた時にイベントが実行(トリガ)されます。webhooksでターゲットのURLを指定でき、そしてイメージがpushされた時にJSONペイロードが配達されます。
webhooksについてのより詳しい情報は、Docker Hub ドキュメンテーションを参考にしてください。
次のステップ
では、Dockerを使ってみましょう!
0 件のコメント:
コメントを投稿