開いているdocker-registryのクイック起動と使用

Dockerは、仮想化環境でのアプリケーションの展開と管理を自動化するためのソフトウェアです( Wikipediaを参照 )。

詳細なインストール手順は、公式Webサイトhttps://docs.docker.com/engine/installation/にあります。



この記事を読んでいるのであれば、おそらくドッカーに慣れているので、次のステップに進む準備ができています。実稼働サーバーへのアプリケーションの配信を便利にするために独自の登録を行ってください。



新しいプロジェクトを始めたとき、ドッカーを使用することにしました。 どういうわけかサーバーに配信する必要がある4つのコンテナーが判明しました。 以下は私から何が生まれたのかについての物語です。



入り口で利用できるもの:





Docker Registerは、バージョン管理されたdockerイメージを持つリポジトリです。

レジスタを使用してアプリケーションをサーバーに配信すると便利です。



  1. 動作中のコンピューターで画像を収集し、レジスターに送信します
  2. 仮想サーバーで、レジスタからイメージを取得して実行します


ドッカーにはサービスとして公式の登録があります: https : //hub.docker.com

そこにパブリックイメージを無制限に配置でき、プライベートイメージを1つだけ配置できます。 追加のプライベート画像は有料で追加できます。



レジスタを使用するための別のオプションは、独自のものを上げることです。

Dockerは登録サーバーに公式イメージを提供します 、加えて起動のための指示があるドキュメントがあります



Dockerレジスタは、httpとhttpsの両方で機能します。 安全な接続を使用する場合、個々のユーザーの承認も可能です。 ただし、ドメイン名でのみ購入できる証明書が必要です。 自己署名証明書を機能させることはできませんでした(インターネットでこれに問題があることを読みました)。 私はドメイン名を持っていないため、 http経由でアクセスできるオープンレジスタを検討します 。 これは、誰かがあなたのレジスタのアドレスを見つけた場合、そのアドレスを自由に使用できることを意味します。



登録開始



サーバーのセットアップ


レジスタは、1つのコマンドで起動されるドッカーコンテナーです。



› docker run -d -p 5000:5000 --restart=always --name registry registry:2
      
      





完了しましたが、このサーバー上のdockerクライアントが認証なしでオープン接続を介してレジスタにアクセスするには、構成ファイル/ etc / default / dockerに行を追加する必要があります



 DOCKER_OPTS="$DOCKER_OPTS --insecure-registry <ip- >:5000"
      
      





次に、Dockerを再起動する必要があります。



 › service docker restart
      
      





クライアント設定


私のコンピューターは、VirtualBox仮想化システムを使用してdockerを実行します。このdockerは、boot2docker(dockerを備えた最小のLinuxイメージ)を実行し、コンテナーで動作します。 コンピューター上のVirtualBoxの下で複数の仮想マシンを実行できますが、それらの管理にはdocker-machineが使用されます。



認証なしでオープン接続を介してレジスタにアクセスできるようにするには、構成ファイルにオプションを追加する必要があります。これは、コンテナが動作する仮想マシン内にあります。



仮想マシンのリストを見てみましょう:



 › docker-machine ls NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS default * virtualbox Running tcp://192.168.99.100:2376 v1.9.1
      
      





仮想マシンに接続します。



 › docker-machine ssh default
      
      





ファイル/ var / lib / boot2docker / profileが含まれていますが、その中には次のようなフラグメントがあります。



 EXTRA_ARGS=' --label provider=virtualbox '
      
      





sudoで編集するために開き、次のようになります。



 EXTRA_ARGS=' --label provider=virtualbox --insecure-registry <ip- >:5000 '
      
      





登録の使用



動作中のコンピューターからの画像の形成と送信


現在のディレクトリに既にDockerfileがあり、 my-imageという新しいイメージを収集できることを想像してください。



 › docker build -t my-image .
      
      





これで、画像にタグを追加して、レジスタに送信できます。



 › docker tag my-image <ip- >:5000/my-image:latest › docker push <ip- >:5000/my-image:latest
      
      





サーバー上のイメージの取得


これでイメージがレジスタに追加されました。サーバーで取得して実行できます。



 › docker pull <ip- >:5000/my-image:latest › docker run -d <ip- >:5000/my-image
      
      





おわりに



そこで、ドッカー画像を保存するための独自のオープンレジスタを作成し、それを使用して画像を送受信する例を調べました。

私は本当にそのようなガイドを見逃したので、これが誰かに役立つことを願っています。




All Articles