Dockerが独自のローカルイメージリポジトリを構築するための手順

Dockerが独自のローカルイメージリポジトリを構築するための手順

1. 環境と準備

  • 1. Ubuntu 14.04
  • 2.Docker環境

2. 建設プロセス

1. ミラーソースを変更する(デフォルトのものは遅すぎるので、国内のものの方が速いです)

sudo vim /etc/default/docker
次のパラメータを入力します。
DOCKER_OPTS="--registry-mirror=http://hub-mirror.c.163.com" //NetEase、daoCloudsも使用できます

新しくインストールしたUbuntu環境であれば、以下のコマンドを実行します(もちろんviを使ったり、直接書き込むこともできます)

sudo apt-get update //ダウンロードエラーを防ぐためにapt-getソースを更新します sudo apt-get install vim -y //vimをダウンロードします

2. Dockerを起動し、レジストリイメージソースをプルする

sudo service docker start //dockerを起動する
sudo docker pull registry //レジストリイメージをダウンロードする

3. ダウンロード後、ダウンロードが成功したかどうかを確認します

sudo docker イメージ

4. ダウンロード後、コンテナを起動し、コンテナ内のデータ マッピングを指定したディレクトリにマウントします。ここで、/opt/data/registry はホスト マシンに保存されているディレクトリです。

mkdir -p /opt/data/registry //ディレクトリを作成 sudo docker run -d -p 5000:5000 -v /opt/data/registry:/var/lib/registry 
  --name private_registry registry //コンテナを起動します -d: コンテナをバックグラウンドで実行できるようにします -p: マッピングポートを指定します(前者はホストマシンのポート番号、後者はコンテナのポート番号です)
-v: データマウント(前者はホストディレクトリ、後者はコンテナディレクトリ)
--name : 実行中のコンテナに名前を付ける

次にコンテナが正常に起動したかどうかを確認します

sudo docker ps 

5. ホストマシンのIPアドレスを確認する

ifconfig

6. docker 設定ファイルを変更し、独自のプライベート ライブラリ アドレスを追加します。docker が起動すると、/etc/init/docker.conf が読み込まれます。設定ファイルを読み込んだ後、/etc/default/docker ファイルが読み込まれることがわかったので、/etc/default/docker にプライベート ライブラリ アドレスを書き込むだけです。

sudo vim /etc/default/docker
DOCKER_OPTS を次のように変更します。
DOCKER_OPTS="--registry-mirror=http://hub-mirror.c.163.com --insecure-registry 192.168.147.129:5000"
** ポート 5000 を追加する必要があります。ホスト マシンはデフォルトでポート 80 にアクセスします。追加したくない場合は、コンテナーの起動時にコンテナーのポート 5000 をホスト マシンのポート 80 にマップできます。

変更後、コンテナを再起動してレジストリサービスを開始します。

sudo service docker restart //コンテナを再起動します sudo docker start private_registry //レジストリサービスを再起動します

上記の 5 つの手順により、プライベート ライブラリが構築されました。

3. テスト

1. イメージを取得してタグ付けする (busybox は比較的小さいため、例として busybox を使用します)

sudo docker pull busybox:latest //イメージをプルします sudo docker tag busybox:latest 192.168.147.129:5000/busybox

2. タグ画像をローカル画像リポジトリに送信する

sudo docker push 192.168.147.129:5000/busybox

3. すべてのビジーボックスイメージを削除してチェックする

sudo docker rmi busybox 192.168.147.129:5000/busybox //busybox イメージを削除します sudo docker images //busybox イメージに関する情報があるかどうかを確認します

4. ローカルイメージリポジトリからbusyboxイメージを取得して表示する

sudo docker pull 192.168.147.129:5000/busybox
sudo docker images // 192.168.147.129:5000/busybox イメージの情報を表示します

上記はプルが成功したことを示しています。

IV. 反省と改善

1. 上記のローカル倉庫は、同じネットワーク内にある限りアクセスできます。

2. 地元の倉庫をより便利に管理する方法を検討する価値がある

3. 上記の方法では本人認証が行われないため、本人認証を行う方法も検討する価値がある。

要約する

以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。これについてもっと知りたい場合は、次のリンクをご覧ください。

以下もご興味があるかもしれません:
  • Centos7 システムで Docker ローカル イメージ ウェアハウスを構築する方法
  • Docker でプライベートイメージリポジトリを作成する方法のチュートリアル
  • Docker用国産イメージウェアハウスの使い方
  • Alibaba Cloud イメージリポジトリを使用して外部 Docker イメージを構築する方法の詳細な説明
  • Alibaba Cloud イメージリポジトリの Docker 構成変更の実装
  • .NETCore Dockerはコンテナ化とプライベートイメージリポジトリ管理を実装します
  • CentOS 7.2 サーバー上にプライベート Docker イメージ リポジトリを設定する例
  • HarborをベースにしたDockerプライベートイメージリポジトリの構築の詳細な説明
  • DockerでAlibaba Cloudイメージリポジトリを使用する方法
  • Docker でプライベートイメージリポジトリを構築する方法
  • Dockerイメージリポジトリの使い方

<<:  CocosCreator の新しいリソース管理システムの分析

>>:  MySQL 5.7 JSON 型の使用の詳細

推薦する

MySQL 8.0.12 クイックインストールチュートリアル

MySQL 8.0.12 のインストールには 2 日かかり、さまざまな問題が発生しました。以下にまと...

CentOS で MySQL を完全にアンインストールする方法

この記事では、CentOSでのMySQLの完全アンインストールについて記録しています。具体的な内容は...

DockerがElasticsearch7.xを起動してエラーを報告する問題を解決する

Docker実行コマンドの使用docker run -d -p 9200:9200 -p 9300:...

Windows に MySQL 8.0.16 をインストールする手順とエラーの解決方法

1. はじめに: mysql8以降は、これまでよく使われていたバージョンと比べてかなり変更点が大きい...

ログインスライダー検証を実装するJavaScript

この記事では、ログインスライダー検証を実装するためのJavaScriptの具体的なコードを参考までに...

MySQL5.6.17データベースをインストールするときにMy.iniファイルを構成する方法

最近、プロジェクトの開発時に MySql データベースを使用しました。MySql に関する記事をいく...

MySQL エラー番号 1129 の解決方法

SQLyog が MySQL に接続する際にエラー番号 1129 が発生します: mysql エラー...

Ubuntu 16.04 サーバーで MySQL を設定し、リモート接続を有効にする方法

背景最近、Node.js を勉強しているのですが、クラウド サーバーがあることを思い出しました。しか...

Vue3 Reactivityの実装方法を教えます

目次序文始めるちょっとした考えコードの実装真似する実装トラックトリガーの実装観察の実装計算の実装序文...

Link と @import の違いを詳しく見る

ページで CSS を使用する主な方法は、スタイル属性値をインラインで追加する方法、ページ ヘッダーで...

初心者がソースコードからMySQLのデッドロック問題を理解する

夜遅くまで何度も困難なシングルステップデバッグを行った後、ようやく理想的なブレークポイントを見つけま...

LinuxのCPU負荷とCPU使用率の詳細な説明

CPU 負荷と CPU 使用率これらは両方とも、ある程度、マシンの忙しさを反映できます。 CPU 使...

innodb_flush_method 値メソッド (例の説明)

innodb_flush_methodのいくつかの典型的な値 fsync: InnoDB は fs...

CocosCreator 学習モジュールスクリプト

Cocos Creator モジュラースクリプトCocos Creator を使用すると、コードを複...

ARGB、RGB、RGBAの違いと紹介

ARGB は、アルファ (透明度) チャネルが追加された RGB カラー モードであり、32 ビット...