RancherOSにRancherサーバーをインストールする
概要RancherOSは、システムサービスを実行するためのPID 0としてシステムDockerデーモンを実行する、信じられないほど軽量なオペレーティングシステム(わずか約60 MB)です。
私たちは皆、アプリケーションコンテナーを作成、管理、および複数のマシンに分散するプラットフォームであるDockerを知っています。Docker Inc.は、「Docker Registry」と呼ばれるgitリポジトリのように、ダウンロード(またはプル)されるオープンソースコンテナーをホストするサービスを提供します。DockerコンテナーのGitHubのようなものと考えてください。
しかし、公共のレジストリから分離された独自のレジストリをホストしたい場合はどうでしょうか?Docker Inc.は、GitHubでレジストリアプリケーションをオープンソース化しています。
このチュートリアルでは、新しいVPSでCoreOSを使用してプライベートDockerレジストリを設定するプロセスについて説明します。
このチュートリアルの範囲外であるため、DockerとCoreOSでできることを正確に説明するのに大量の時間を費やすことはありません。基本的に、CoreOSは大規模なサーバークラスター向けに設計されており、小型で高速で、定期的なセキュリティ更新を自動的に取得します。ルートファイルシステムも読み取り専用です。つまり、基本インストールに含まれていないあらゆる種類のソフトウェアを実行するには、Dockerを使用する必要があります。
これにより、Core OSはDockerの完璧なホストシステムになります。
Docker Inc.はレジストリをトップレベルのイメージとして提供しています。これは、シンプルな方法でレジストリをプルダウンできることを意味します。
docker pull registry
接続速度によっては、数分かかる場合があります。
最上位の画像であることのプラスは、定期的なサポートと更新を受けることも意味します。
次に、レジストリをテストします。レジストリイメージを使用して新しいコンテナを作成できます。
docker run -p 5000:5000 -d --name=basic_registry registry
Dockerをあまり使用していない場合、-p
フラグはをPORT
意味します。つまり、コンテナーからポート5000をホストポート5000に公開しています。
-d
フラグの略daemon
これはコンテナがバックグラウンドで実行し、現在のSSHセッションへの出力を印刷しないようになります、我々はまた、使用して、この基本的なテストコンテナの名前にしたい--name
、我々は後で簡単に管理できるようにオプションを選択します。
基本レジストリコンテナがを使用して実行されていることを確認してくださいdocker ps
。出力は次のようになります。
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
edfb54e4a8c4 registry:0.8.1 "/bin/sh -c 'exec do 7 seconds ago Up 6 seconds 0.0.0.0:5000->5000/tcp basic_registry
また、http://YOUR_IP:5000
Webブラウザーでにアクセスすると、次のようなメッセージが表示されます。
"docker-registry server (dev) (v0.8.1)"
dev
括弧内の単語に注意してください。これは、サーバーが現在dev configを実行していることを意味します。近いうちに、さらに多くの設定を確認します。
これで、独自の(非常に基本的な)コンテナーレジストリが実行されます。しかし、まだ終わっていません。
多分あなたはこれを覗き見からプライベートにしたいかもしれません、あるいは多分ローカルストレージの代わりにAmazon S3にあなたのイメージを保存したいでしょう。次のセクションでは、さまざまな構成オプションについて説明します。
次に進む前に、競合するポートにぶつからないようにテストコンテナを強制終了します。
docker kill basic_registry
設定をDockerレジストリに渡すには2つの方法があります。1つは環境変数を新しいコンテナに渡す方法で、もう1つは構成ファイルを追加する方法です。
以下は、使用する一般的な構成オプションの一部です。
loglevel
-コンソールに記録する情報の最小量。デフォルトはinfo
です。standalone
-このレジストリは単独で機能する必要がありますか?(公開レジストリを照会しないでください。)デフォルトはtrue
です。index_endpoint
-スタンドアロンでない場合、他にどのようなインデックスをクエリしますか?デフォルトindex.docker.io
。cache
およびcache_lru
-小さなファイルのRedisキャッシュの使用に関するオプション。これについては後で触れます。storage
-このサーバーにはどのストレージバックエンドを使用する必要がありますか?(このチュートリアルでは、ローカルを使用します)。storage_path
-ローカルストレージを使用する場合、ファイルを保持するためにどのディレクトリを使用すればよいですか?構成を操作する前に、操作するベースファイルが必要です。GitHubのDockerレジストリリポジトリからのファイルは問題なく動作します。
wget https://raw.githubusercontent.com/docker/docker-registry/0.8/config/config_sample.yml
ファイルは次のような出力で正常に保存されるはずです。
2014-09-14 14:09:01 (156 MB/s) - 'config_sample.yml' saved [5384/5384]
すごい!これで、このファイルを必要に応じて変更できます。
Core OSに付属する唯一のテキストエディターはですがvim
、これまでに使用したことがない場合でも心配はいりません。これにより、編集する内容とその方法が段階的に説明されます。
vim config_sample.yml
ファイルを開いたらI
、を押すと右下隅が表示さ-- INSERT --
れます。挿入モードの場合。矢印キーを使用してファイルの一番下までスクロールすると、というラベルの付いたセクションが表示されprod
ます。
2行を変更します。変更は以下のとおりです
prod:
<<: *local
storage_path: _env:STORAGE_PATH:/data
ここではprod
、local
セクションではなくセクションから派生するように構成を変更していますs3
。次に、新しいコンテナ内のstorage_path
パスを使用するようにを上書きしました/data
。
すべての変更が正しいことを確認したら、を押してESC
挿入モードと入力を終了します:wq
(つまり、変更をファイルに書き込み、vimを終了します)。
ファイルの名前をただに変更しましょう config.yml
mv config_sample.yml config.yml
コンテナーレジストリを高速化するた���にredisを使用したい場合は、パブリックレジストリから新しいコンテナーをプルし、数行の構成を追加するだけです。
まず、Redisの最上位の画像を取得します。
docker pull redis
イメージが正常にプルされたら、テストレジストリで行ったように、イメージを実行して名前を付けることができます。
docker run -d --name registry-redis redis
redisはメモリ内にあるため、後の手順でレジストリコンテナーにリンクするため、redisを構成する必要はありません。
もう一度、次を使用して実行されていることを確認しdocker ps
ます。
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
54f65641eccf redis:2.8 "redis-server" 2 seconds ago Up 1 seconds 6379/tcp registry-redis
今すぐ再オープンconfig.yml
にvim
し、ちょうど我々はそれを編集した初めてのように、挿入モードに入ります。
prod
セクションの下に次の行を追加し、適切にインデントするようにします。今回はとのみを追加cache
しcache_lru
ます。
cache:
host: _env:REDIS_PORT_6379_TCP_ADDR
port: _env:REDIS_PORT_6379_TCP_PORT
db: 0
cache_lru:
host: _env:REDIS_PORT_6379_TCP_ADDR
port: _env:REDIS_PORT_6379_TCP_PORT
db: 1
環境変数REDIS_PORT_6379_TCP_ADDR
とREDIS_PORT_6379_TCP_PORT
Redisのコンテナとの連携時にレジストリコンテナに渡されます。
これで、レジストリコンテナーと連携して機能するRedisコンテナーがセットアップされました。今度はレジストリを構築します!
すべての設定が完了し、準備が整ったので、実際のレジストリコンテナを構築する必要があります。
起動vim Dockerfile
して、新しいDockerfileを作成します。挿入モードに入り、以下の編集に従います。
FROM registry:latest
# Add the custom configuration file we made
ADD ./config.yml /docker-registry/config/config.yml
# Create the data directory
RUN mkdir /data
# Set the configuration file to config.yml
env DOCKER_REGISTRY_CONFIG /docker-registry/config/config.yml
# Make sure we use the prod configuration settings
env SETTINGS_FLAVOR prod
上記で行ったことは、基本的にレジストリイメージを拡張して、構成ファイルと設定を使用することです。Dockerfileは、Dockerが読み取ってビルドするための一連のビルド手順です。Dockerfileとその構文の詳細については、Dockerサイトの公式ドキュメントをご覧ください。
次に、使用するコンテナを構築する必要があります。
docker build -t my_registry .
Sending build context to Docker daemon 13.82 kB
Sending build context to Docker daemon
Step 0 : FROM registry
---> e42d15ec8417
Step 1 : ADD ./config.yml /docker-registry/config/config.yml
---> 4339f026d459
Removing intermediate container 2d5138fbcd34
Step 2 : RUN mkdir /data
---> Running in a090f0bdbfd1
---> 8eb27ba6e12a
Removing intermediate container a090f0bdbfd1
Step 3 : env DOCKER_REGISTRY_CONFIG /docker-registry/config/config.yml
---> Running in 565b5bfb2b22
---> 914462e46dc0
Removing intermediate container 565b5bfb2b22
Step 4 : env SETTINGS_FLAVOR prod
---> Running in 31a92847b851
---> b5949575c374
Removing intermediate container 31a92847b851
Successfully built b5949575c374
これで実行の準備ができました!
ホストシステムにディレクトリを作成し、/data
ボリュームとしてコンテナにマウントします。
mkdir registry-data
これで、新しいコンテナを起動できます。Redisキャッシュを使用する場合は、以下の2番目のコマンドを使用します。
# For a non-Redis cache registry
docker run -d -p 5000:5000 -v /home/core/registry-data:/data --name=private_reg my_registry
# For a Redis cached registry (Must have followed Redis Caching section above)
docker run -d -p 5000:5000 -v /home/core/registry-data:/data --name=private_reg --link registry-redis:redis my_registry
サーバーが正しく実行されていることを確認するには、にアクセスしてくださいhttp://YOUR_IP:5000
。次のメッセージが表示されます。
"docker-registry server (prod) (v0.8.1)"
(prod)
設定の変更が成功したという意味に注意してください!
これで、独自の実行レジストリが作成されたので、ローカルマシンのDockerクライアントがそれを使用できるようにします。通常は次のコマンドを使用しますがdocker login
、ここでは、ログインコマンドに引数を1つ追加する必要があります。
docker login YOUR_IP:5000
ユーザー名とパスワードを入力し(新しいアカウントを作成する場合など)、アクティブ化する必要があることを示すメッセージは無視してください。
次に、ストックイメージをプルして、独自のリポジトリにプッシュします。
# Pull the busybox image from the public registry
docker pull busybox
# Tag it with our IP/URL
docker tag busybox YOUR_IP:5000/busybox
# Push it to our newly made registry
docker push YOUR_IP:5000/busybox
すべてが正しくプッシュされた場合、最終的なメッセージは次のようになります。
Pushing tag for rev [a9eb17255234] on
おめでとう!独自のDockerリポジトリをセットアップしました。
ここでは、新しいプライベートレジストリを改善する方法に関するいくつかのアイデアを示します。
概要RancherOSは、システムサービスを実行するためのPID 0としてシステムDockerデーモンを実行する、信じられないほど軽量なオペレーティングシステム(わずか約60 MB)です。
はじめにDockerは、コンテナーとして実行されるプログラムをデプロイできるアプリケーションです。それは人気のあるGoプログラミング言語で書かれました
別のシステムを使用していますか?Dockerは、コンテナーとして実行されるプログラムをデプロイできるアプリケーションです。それは人気のある囲碁programminで書かれました
この記事では、Dockerコンテナー内にノードアプリケーションをデプロイする方法を示します。注:このチュートリアルでは、Dockerがインストールされており、
はじめにこのガイドでは、複数のAlpine Linux 3.9.0サーバーとPortainerを使用してDockerスウォームを作成および構成する方法について説明します。ご注意ください
Harbourは、Dockerイメージを格納および配布するオープンソースのエンタープライズクラスのレジストリサーバーです。HarbourはオープンソースのDockerディストリビューションを拡張しますb
Kubernetesは、サーバーのクラスタ全体でコンテナ化されたアプリケーションを管理するためにGoogleが開発したオープンソースのプラットフォームです。それは10年に基づいて構築され、
別のシステムを使用していますか?はじめにRancherは、コンテナーを実行し、プライベートコンテナーサービスを構築するためのオープンソースプラットフォームです。牧場主がベース
概要この記事は、kubernetesクラスターをkubeadmですぐに稼働できるようにすることを目的としています。このガイドでは、2台のサーバーを
この記事では、CoreOSにdocker-composeをインストールする方法について説明します。CoreOSでは、/ usr /フォルダーは不変なので、標準の/ usr / local / binパスは使用できません。
別のシステムを使用していますか?はじめにRancherは、コンテナーを実行し、プライベートコンテナーサービスを構築するためのオープンソースプラットフォームです。牧場主がベース
PHPアプリケーションは通常、Webサーバー、リレーショナルデータベースシステム、および言語インタープリター自体で構成されます。このチュートリアルでは、レバラギンになります
別のシステムを使用していますか?Dockerは、仮想コンテナー内でのソフトウェアのデプロイメントを可能にするアプリケーションです。それは囲碁プログラムで書かれました
LXCコンテナー(Linuxコンテナー)は、単一のホスト上で複数の分離されたLinuxシステムを実行するために使用できるLinuxのオペレーティングシステム機能です。テス
別のシステムを使用していますか?はじめにSentryは、エラー追跡のためのオープンソースのソリューションです。Sentryは例外やその他の有用なメッセージをあちこちで追跡します
別のシステムを使用していますか?はじめにDocker Swarmは、個々のサーバーをコンピューターのクラスターに変えます。スケーリング、高可用性、
このチュートリアルでは、Dockerの基本的な使い方について説明します。Dockerがすでにインストールされていると思います。このチュートリアルの手順は、
Webアプリケーションを実行する場合、通常、マルチスレッドを使用するようにソフトウェアを変換することなく、リソースを最大限に活用したいと思いますo
前提条件Dockerエンジン1.8以降。最低4GBのディスク容量。4GB以上のRAM。ステップ1. DockerをインストールするSQL-Serverをインストールするには、Docker mus
ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。
最近、Appleは問題を修正するための補足アップデートであるmacOS Catalina 10.15.4をリリースしましたが、このアップデートにより、Macマシンのブリックにつながる問題がさらに発生しているようです。詳細については、この記事をお読みください
原子力は、過去の出来事のために私たちが決して尊重しないことを常に軽蔑していますが、それは必ずしも悪ではありません。詳細については、投稿をお読みください。
これを読んで、人工知能が小規模企業の間でどのように人気を博しているか、そして人工知能がどのように成長し、競合他社に優位に立つ可能性を高めているかを理解してください。
私たちのコンピューターは、ジャーナリングファイルシステムと呼ばれる組織化された方法ですべてのデータを保存します。これは、検索を押すとすぐにコンピューターがファイルを検索して表示できるようにする効率的な方法です。https://wethegeek.com/?p = 94116&preview = true
ビッグデータと人工知能は流行語ですが、それらがどのように相互に関連しているか知っていますか?さて、この記事を最後まで読んで、同じことを知ってください。
LiteCartは、PHP、jQuery、およびHTML 5で記述された無料のオープンソースのショッピングカートプラットフォームです。シンプルで軽量、使いやすいeコマースソフトウォー
NFSはネットワークベースのファイルシステムであり、コンピューターはコンピューターネットワークを介してファイルにアクセスできます。このガイドでは、NFを介してフォルダーを公開する方法について説明します
別のシステムを使用していますか?Matomo(旧Piwik)は、Google Analyticsのオープンな代替手段であるオープンソースの分析プラットフォームです。Matomoのソースはoでホストされています
HTTPライブストリーミング(HLS)は、Apple Inc.によって実装された非常に堅牢なストリーミングビデオプロトコルです。HLSは、ファイアウォール、プロキシ、