Translate

2015年3月16日月曜日

The Docker User Guide: Working with Docker Hub を翻訳してみた



ユーザガイドの基礎的な使い方ではおそらく最後の章になる

 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リポジトリへコミットフックを追加します。


自動ビルドのセットアップ
 

  1. Docker Hubにアカウントを新規作成しログイン
  2.  "Link Accounts"メニューからGitHub/BitBucketアカウントをリンク
  3. 自動ビルドの設定を実施
  4. ビルド対象のDockerfileを保持するGitHub/BitBucketプロジェクトをpick
  5. ビルド対象のブランチをpick(デフォルトはマスターブランチ)
  6. 自動ビルド名をつける
  7. ビルドへオプションのDockerタグを割り当て
  8. 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 件のコメント:

既存アプリケーションをK8s上でコンテナ化して動かす場合の設計注意事項メモ

既存アプリをK8sなどのコンテナにして動かすには、どこを注意すればいいか..ちょっと調べたときの注意事項をメモにした。   1. The Twelve Factors (日本語訳からの転記) コードベース   バージョン管理されている1つのコードベースと複数のデプロイ 依存関係 ...