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

推薦する

Vue3 ミックスインの使い方

目次1. mixin の使い方は? 2. ミックスイン使用時の注意2.1. ミックスイン オブジェク...

CentOS 8 に Postfix メール サーバーをインストールして設定する方法

Postfix は、Linux システム上で電子メールをルーティングまたは配信するために使用される無...

Windows10でのMySQL 5.7.21のインストールと設定のチュートリアル

この記事では、MySQL 5.7.21 のインストールと設定方法を記録し、皆様と共有します。 1. ...

Linux システムでの virtuoso データベースの詳細なインストールと使用

最近、リンク データについていくつか調査していて、rdf データベースを使用する必要があったため、v...

MySQL でシンプルな検索エンジンを実装するためのサンプルコード

目次序文導入ngram全文パーサー全文インデックスを作成する検索方法1. 自然言語検索(自然言語モー...

vue3+vite プロジェクトで svg を使用する方法の詳細なグラフィック説明

今日、vue3+viteプロジェクトの実践で、svgを使用する場合、以前の記述方法が使用できないこと...

MySQLのslave_exec_modeパラメータの詳細な説明

今日、slave_exec_modeというパラメータを偶然見ました。マニュアルの説明から、このパラメ...

VUEはFlappy Birdゲームのサンプルコードを実装します

Flappy Bird は、誰もがアプリでプレイしたことがある非常にシンプルな小さなゲームです。ここ...

テーブルの動的な色の変更を実現するJavaScript

この記事では、テーブルの動的な色の変更を実現するためのJavaScriptの具体的なコードを参考まで...

CentOS 6.8 に MySQL 8.0.18 をインストールするチュートリアルの簡単な分析 (RPM 方式)

今日は、CentOS 6.8 サーバーに MySQL 8.0.18 をインストールする方法を記録しま...

Linux 環境変数の設定方法のまとめ (.bash_profile と .bashrc の違い)

Linux では、アプリケーションをダウンロードしてインストールすると、起動時にアプリケーション名...

Mysql GTID Mha 設定方法

Gtid + Mha + Binlog サーバー構成: 1: テスト環境OS: CentOS 6.5...

mysql ビュー関数の分析と使用例

この記事では、例を使用して MySQL ビューの機能と使用方法を説明します。ご参考までに、詳細は以下...

Linux シェル環境での Zabbix API の使用

Linux シェル環境で直接呼び出すことができます。公式 Web サイトによると、Zabbix のデ...

SQL における参照整合性の詳細な説明 (1 対 1、1 対多、多対多)

1. 参照整合性参照整合性とは、主に外部キー制約を使用した複数のテーブル間の設計を指します。複数テ...