開いている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 

おわりに


そこで、ドッカー画像を保存するための独自のオープンレジスタを作成し、それを使用して画像を送受信する例を調べました。
私は本当にそのようなガイドを見逃したので、これが誰かに役立つことを願っています。

Source: https://habr.com/ru/post/J279659/


All Articles