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 型の使用の詳細

推薦する

SSH ポート転送とは何ですか?何の役に立つの?

目次序文1. ローカルポート転送2. リモートポート転送3. 動的ポート転送(SOCKS5) 4. ...

JavaScript BOM ロケーション オブジェクト + ナビゲーター オブジェクト + 履歴オブジェクト

目次1. 場所オブジェクト1. URL 2. 場所オブジェクトのプロパティ3. ロケーションオブジェ...

MySQL バージョンは、2 つのタイムスタンプ型の値をサポートしていないバージョンよりも低いです。

MySQL エラー:エラー コード: 1293 テーブル定義が正しくありません。CURRENT_T...

HTML で入力プロンプトのテキスト スタイルを変更するためのサンプル コード

多くのウェブサイトでは、入力ボックスにヒントテキストが表示されています。入力ボックスにヒントテキスト...

Vueがsweetalert2プロンプトコンポーネントを統合する際の問題についてお話ししましょう

目次1. プロジェクト統合1. CDNインポート方法: 2. 箱の梱包を確認する3. 迅速な箱詰め4...

MySQL セレクトキャッシュメカニズムの使用に関する詳細な説明

MySQL クエリ キャッシュはデフォルトでオンになっています。ある程度、クエリの効果は向上しますが...

Vue3+TypeScriptは再帰メニューコンポーネントの完全な例を実装します

目次序文必要成し遂げる最初のレンダリングメニュー項目をクリックしますスタイルの区別デフォルトのハイラ...

mysqlは、現在の時刻が開始時刻と終了時刻の間にあるかどうかを判断し、開始時刻と終了時刻が空であることが許可されます。

目次要件: 進行中のアクティビティ データを照会する次のSQLクエリは、上記の4つの要件を満たし、タ...

MySQL 5.7.13 のインストールと設定方法の Mac でのグラフィック チュートリアル

MySQL 5.7.13 Mac用インストールチュートリアル、非常に詳細で、以下のように記録されてい...

ウェブ画像のホットリンクと座標値を設定するサンプルコード

時には、画像上に複数の領域を設定する必要があります。マウスで画像のさまざまな領域をクリックしてさまざ...

Mysql テーブル、列、データベースの追加、削除、変更、クエリの問題の概要

以下は私がまとめた基本的なSQL知識です。主に参考資料として、また将来の他の初心者の助けとして、私自...

MySQL 8.0.11 のインストールと設定方法のグラフィックチュートリアル MySQL 8.0 の新しいパスワード認証方法

この記事では、参考までにMySQL8.0.11のインストールと設定方法、およびMySQL8.0の新し...

擬似静的およびクライアント適応型 Nginx の設定方法

バックエンドは thinkphp3.2.3 フレームワークを使用します。他の言語を使用している場合は...

Vue3+スクリプト設定+ts+Vite+Volarプロジェクト

目次Viteを使用してvue + tsプロジェクトを作成するVue 3の3つの構文オプションAPIコ...

Linux環境にRedisをデプロイし、Dockerにインストールする方法

インストール手順1. Redisをインストールするdocker search redis和docke...