1: Dockerプライベートウェアハウスのインストール 1. イメージリポジトリからイメージをダウンロードします。 [root@localhost ~]# systemctl dockerを起動します #すでに画像がある場合、元の画像を強制的に削除する方法は次のとおりです。 [root@xxx-pub /]# docker rmi -f docker.io/registry タグなし: docker.io/registry:latest タグなし: docker.io/registry@sha256:51bb55f23ef7e25ac9b8313b139a8dd45baa832943c8ad8f7da2ddad6355b3c8 [root@xxx-pub /]# #最新のイメージのダウンロードを開始します。 [root@localhost ~]# docker pull レジストリ デフォルトタグの使用: 最新 最新: ライブラリ/レジストリから取得 4064ffdc82fe: プル完了 c12c92d1c5a2: プル完了 4fbc9b6835cc: プル完了 765973b0f65f: プル完了 3968771a7c3a: プル完了 ダイジェスト: sha256:20bbbc0f6384cf7dc6e292ccbe75935b73c92ec776543c970904bc60feceb129 ステータス: レジストリの新しいイメージをダウンロードしました:最新 [root@localhost ~]# 2. イメージリポジトリを起動し、ローカルディスクにマウントします。 [root@xxx-pub /]# docker run -d -v /registry:/home/docker-registry -p 5000:5000 --restart=always --privileged=true --name registry registry:latest イメージ 'registry:latest' がローカルに見つかりません リポジトリ docker.io/library/registry をプルしようとしています... 最新: docker.io/library/registry からプル ダイジェスト: sha256:51bb55f23ef7e25ac9b8313b139a8dd45baa832943c8ad8f7da2ddad6355b3c8 ステータス: docker.io/registry:latest の新しいイメージをダウンロードしました b7bd2b14ed488936afe798be95f3cd56f604fb092d45cf6f4a58359bcad0d34c [root@xxx-pub /]#
データを永続化するには、ボリュームを/home/docker-registryにマウントします。 3. ローカル画像にタグを付けてアップロードします。 利用可能なローカル イメージを確認します。 [root@xxx-pub /]# docker イメージ リポジトリ タグ イメージ ID 作成 サイズ docker.io/centos centos7.5.1804 fdf13fa91c6e 4 週間前 200 MB docker.io/registry 最新 b2b03e9146e1 2 か月前 33.3 MB [root@xxx-pub /]# docker.io/centos を例に挙げます。 [root@xxx-pub /]# docker タグ fdf13fa91c6e localhost:5000/xxx-centos7.5.1804:1.0 ##localhost:5000 は倉庫のアドレス、fdf13fa91c6e はイメージ ID、xxx-centos7.5.1804 はイメージ名、1.0 はバージョン番号を表します。 または: [root@xxx-pub /]# docker タグ docker.io/centos:centos7.5.1804 localhost:5000/xxx-centos7.5.1804:1.0 4. 直接アップロード: [root@xxx-pub /]# docker push ローカルホスト:5000/xxx-centos7.5.1804:1.0 プッシュはリポジトリ [localhost:5000/xxx-centos7.5.1804] を参照します bcc97fbfc9e1: プッシュ 1.0: ダイジェスト: sha256:7c14180942615fef85cb5c8b1388e028be1a8f79694a5fa30a4025173e42ad61 サイズ: 529 [root@xxx-pub /]# PUSH プロセス中に、次のようなエラーが報告される場合があります (以下はインターネット上のエラー プロンプトです)。 [root@localhost ~]# docker push 192.168.174.128:5000/hello:latest プッシュはリポジトリ [192.168.174.128:5000/hello] を参照します レジストリ エンドポイント https://192.168.174.128:5000/v0/ に ping できません v2 ping の試行がエラーで失敗しました: Get https://192.168.174.128:5000/v2/: http: サーバーが HTTPS クライアントに HTTP 応答を返しました v1 ping の試行がエラーで失敗しました: Get https://192.168.174.128:5000/v1/_ping: http: サーバーは HTTPS クライアントに HTTP 応答を返しました [root@localhost ~]# 解決: https を使用して、/etc/sysconfig/docker (ここでは Centos7 の docker) ファイルを変更し、以下に示すように、ADD_REGISTRY='--add-registry 192.168.18.162:5000'、INSECURE_REGISTRY='--insecure-registry 192.168.18.162:5000' (上記は、従来の docker バージョンの構成) を追加します。 ただし、新しい Docker コンテナ リポジトリの構成では、独自の Docker コンテナの構成が採用されます (ここでは、Docker レジストリと、他のプル イメージがプルされるマシンの両方で次の構成が指定されます)。 指定が完了したら、Docker を再起動します。再起動の構成は次のとおりです。 [root@youx-pub ボリューム]# systemctl docker を再起動します さらに、docker.service と構成ファイルを確認します。 [root@youx-pub レジストリ] find / -name docker.service /sys/fs/cgroup/memory/system.slice/docker.service /sys/fs/cgroup/devices/system.slice/docker.service /sys/fs/cgroup/blkio/system.slice/docker.service /sys/fs/cgroup/cpu、cpuacct/system.slice/docker.service /sys/fs/cgroup/pids/system.slice/docker.service /sys/fs/cgroup/systemd/system.slice/docker.service docker.service は、/usr/lib/systemd/system/docker.service にあります。 [root@youx-pub レジストリ]# vim /usr/lib/systemd/system/docker.service 次に以下を実行します: #systemctl起動時に使用できるdocker.serviceファイルが変更になったため、以下の設定を行う必要があります。次にdocker restart work systemctl daemon-reloadを実行します。 systemctl dockerを再起動します 以下のエラーが引き続き報告される場合: [root@youx-pub レジストリ]# docker push 192.168.18.162:5000/nginx:1.2 プッシュはリポジトリ [192.168.18.162:5000/nginx] を参照します https://192.168.18.162:5000/v1/_ping を取得: http: サーバーが HTTPS クライアントに HTTP 応答を送信しました [root@youx-pub レジストリ]# 解決策は次のとおりです。 次の内容で /etc/docker の下に daemon.json を作成します。 {"安全でないレジストリ":["192.168.18.162:5000"]} 次に、Docker コンテナを再起動します。 [root@youx-pub ボリューム]# systemctl docker を再起動します 5. アップロードが完了したら、マウントされたディレクトリにイメージがあるかどうかを確認できます。 [root@xxx-pub docker-registry]# pwd /home/docker-レジストリ [root@xxx-pub docker-registry] # ls /registry/ ドッカー 6. ローカル画像の表示について: [root@xxx-pub docker-registry]# curl http://192.168.18.162:5000/v2/_catalog {"リポジトリ":["xxx-centos7.5.1804","xxx-centos7.5.1804-v1.0"]} [root@xxx-pub docker-registry]# 7. 画像が 2 つあるので、ダウンロードするにはタグ情報を取得する必要があります。 [root@xxx-pub docker-registry]# curl http://192.168.18.162:5000/v2/xxx-centos7.5.1804/tags/list {"名前":"xxx-centos7.5.1804","タグ":["1.0"]} [root@xxx-pub docker-registry]# 8. 次に、イメージを直接(別のコンピューターに)ダウンロードします。 [root@bigdata2 ~]# docker pull 192.168.18.162:5000/youx-centos7.5.1804:1.0 デフォルトタグの使用: 最新 リポジトリ 192.168.18.162/youx-centos7.5.1804 をプルしようとしています... https://192.168.18.162/v1/_ping を取得: ダイヤル tcp 192.168.18.162:443: getsockopt: ホストへのルートがありません [root@bigdata2 ~]# 上記の状況が発生した場合の解決策は次のとおりです。 コンパイル: [root@youx-pub volumes]# vim /etc/containers/registries.conf このファイル。 古いものは編集します: /etc/sysconfig/docker 次にdockerを再起動します [root@youx-pub ボリューム]# systemctl docker を再起動します そして私は引っ張ることができることに気づいた #ここでのアドレスは、倉庫アドレス: 倉庫ポート番号/リポジトリ: タグであることに注意してください。 [root@bigdata2 ~]# docker pull 192.168.18.162:5000/youx-centos7.5.1804:1.0 それでも動作しない場合は、/etc/docker/daemon.json を変更する必要があります。内容は次のとおりです。 [root@bigdata2 docker]# cat daemon.json {"安全でないレジストリ":["192.168.18.162:5000"]} 2. 別のマシンからイメージを Docker イメージ リポジトリにアップロードします。 [root@bigdata2 ~]# docker tag centos7-jdk8-nginx:1.0 192.168.18.162:5000/centos7-jdk8-nginx:1.0 [root@bigdata2 ~]# docker イメージ リポジトリ タグ イメージ ID 作成 サイズ 192.168.18.162:5000/centos7-jdk8-nginx 1.0 bcacd65e2a2e 2 分前 2.18 GB [root@bigdata2 ~]# docker push 192.168.18.162:5000/centos7-jdk8-nginx:1.0 プッシュはリポジトリ [192.168.18.162:5000/centos7-jdk8-nginx] を参照します f018e9c38a66: プッシュ 2a47dcd341ef: プッシュ c5dea3bc729a: プッシュ bcc97fbfc9e1: プッシュ 1.0: ダイジェスト: sha256:d907ff2f8eb590209700c01ce85c78d0bc778a4238539d747e4667d68cb52102 サイズ: 1163 [root@bigdata2 ~]# 次に、Docker イメージ ウェアハウスの場所を入力します。 [root@youx-pub レジストリ]# curl http://192.168.18.162:5000/v2/_catalog {"リポジトリ":["centos7-jdk8-nginx","nginx"]} [root@youx-pub レジストリ]# curl http://192.168.18.162:5000/v2/centos7-jdk8-nginx/tags/list {"名前":"centos7-jdk8-nginx","タグ":["1.0"]} [root@youx-pub レジストリ]# 3. ローカルイメージを削除するにはどうすればいいですか? 通常、削除機能は提供されていないため、サードパーティのプラグインを使用して削除します。 github 上のプラグインの場所: 1. リソースをダウンロードする [root@マスターレジストリ]# curl https://raw.githubusercontent.com/burnettk/delete-docker-registry-image/master/delete_docker_registry_image.py | sudo tee /usr/local/bin/delete_docker_registry_image >/dev/null sudo chmod a+x /usr/local/bin/delete_docker_registry_image 2. 関連するリンク変数を設定します。 REGISTRY_DATA_DIR を見つけるには、次のコマンドを実行します。 [root@youx-pub レジストリ]# find / -name レジストリ [root@youx-pub レジストリ]# find / -name レジストリ /var/lib/docker/overlay2/d72320cd67b42f7ae66342cc6dedab7abe5e89106de8c4919ec8c5a6e5940b09/差分 /var/lib/ucf/レジストリ /var/lib/docker/overlay2/92211417089f7be8239def550e1e89ce3f0e50ac57f2c36ba723ca312ea06ae3/diff/bin/レジストリ /var/lib/docker/overlay2/c1716aea0b380eb94ead9aa02552769acd4c3dac8e6dab735997f1709ce79a33/diff/etc/docker/レジストリ /var/lib/docker/overlay2/46f719f01255c431b4343e78607341d6d66ea482bc6d03c3b4e05e7413f46be6/diff/var/lib/レジストリ /var/lib/docker/overlay2/46f719f01255c431b4343e78607341d6d66ea482bc6d03c3b4e05e7413f46be6/マージ済み/bin/レジストリ /var/lib/docker/overlay2/46f719f01255c431b4343e78607341d6d66ea482bc6d03c3b4e05e7413f46be6/マージ済み/etc/docker/レジストリ /var/lib/docker/overlay2/46f719f01255c431b4343e78607341d6d66ea482bc6d03c3b4e05e7413f46be6/マージ済み/var/lib/レジストリ /var/lib/docker/ボリューム/1522d54c954c755250cb71686cacd9714cd3d0f0c706ec18c1e490c7881fe713/_data/docker/レジストリ /opt/データ/レジストリ /レジストリ [root@youx-pub レジストリ]# [root@youx-pub リポジトリ]# pwd が見つかりました /var/lib/docker/volumes/1522d54c954c755250cb71686cacd9714cd3d0f0c706ec18c1e490c7881fe713/_data/docker/registry/v2/リポジトリ [root@youx-pub リポジトリ]# ls centos7-jdk8-nginx nginx [root@youx-pub リポジトリ]# したがって、イメージ リポジトリの場所を次のように設定します。 [root@マスターレジストリ]# エクスポート REGISTRY_DATA_DIR=/var/lib/docker/volumes/1522d54c954c755250cb71686cacd9714cd3d0f0c706ec18c1e490c7881fe713/_data/docker/registry/v2 アドレスはマウントアドレスです: 関連タグをご覧ください: [root@youx-pub レジストリ]# curl http://192.168.18.162:5000/v2/_catalog {"リポジトリ":["youx-centos7.5.1804","youx-centos7.5.1804-v1.0"]} [root@youx-pub レジストリ]# curl http://192.168.18.162:5000/v2/youx-centos7.5.1804-v1.0/tags/list {"名前":"youx-centos7.5.1804-v1.0","タグ":["最新"]} [root@youx-pub レジストリ]# その後すぐに削除できます: [root@マスターレジストリ]# delete_docker_registry_image --image youx-centos7.5.1804-v1.0:latest 情報 [2017-04-08 11:39:39,793] /registry/docker/registry/v2/repositories/nginx/_manifests/tags/v1 を削除しています [root@マスターレジストリ]# curl http://192.168.18.162:5000/v2/_catalog {"リポジトリ":["youx-centos7.5.1804"]} 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: Vue computedのキャッシュ実装原理の詳細な説明
>>: MySQL 5.7.19 のインストールと設定方法のグラフィック チュートリアル (win10)
ミニネットMininet は軽量のソフトウェア定義ネットワークおよびテスト プラットフォームです。軽...
まとめ:以下のように、CSS で指定した行にマウスを置いたときに行全体の色を変更する方法を示します。...
序文データベース操作では、同時データ読み取りの正確性を効果的に保証するために、トランザクション分離レ...
導入2日前に見た問題について詳細に書きます。バイトコンピューターがバイナリに基づいていることは誰もが...
序文皆さんは Linux で top コマンドを使ったことがあると思います。私は Linux に触れ...
目次序文1. データベースの基礎知識1. データベースとは何ですか? 2. データベースの分類3. ...
今日、Nginxを使っていたら500エラーが発生しました。エラーコードを検索してみんなに共有しました...
ant-design-vue は Ali iconfont icons の使用をカスタマイズします\...
RedHat6.5インストールMySQL5.7チュートリアル共有、参考までに、具体的な内容は次のとお...
ドキュメントの範囲この記事では、Firefox やその他の Gecko ベースのブラウザ、Safar...
1. 2種類のDMAマッピング1.1. 一貫性のあるDMAマッピング主に長期間使用されるエリアをマッ...
この記事はGitHub https://github.com/qq449245884/xiaozhi...
1.1 データ型の概要データ型は、各フィールドに保存できるデータの種類、保存できるデータの量、保存で...
この記事では、React Native ScrollViewのプルダウンリフレッシュ効果の具体的なコ...
目次クラスコンポーネントイベントバインディング関数コンポーネントイベントバインディング要約するRea...