DockerとFastDFSのインストールコマンドと使い方の詳しい説明

DockerとFastDFSのインストールコマンドと使い方の詳しい説明

Dockerの機能

1) すぐに始められる

ユーザーがプログラムを「Docker 化」するには、わずか数分しかかかりません。 Docker は「コピーオンライト」モデルを採用しており、アプリケーションの変更が非常に迅速です。「コードを自由に変更できる」状態に到達していると言えます。

その後、アプリケーションを実行するためのコンテナを作成できます。ほとんどの Docker コンテナは 1 秒以内に起動します。ハイパーバイザーのオーバーヘッドを排除することで、Docker コンテナは高いパフォーマンスを実現し、同じホスト マシン上でより多くのコンテナを実行できるため、ユーザーはシステム リソースを最大限に活用できます。

2) 責任の論理的分類

Docker を使用すると、開発者はコンテナ内で実行されるアプリケーションについてのみ心配する必要があり、オペレーターはコンテナの管理方法のみを心配する必要があります。 Docker 設計の目的は、開発者がコードを記述する開発環境とアプリケーションがデプロイされる本番環境間の一貫性を高めることです。これにより、「開発中は正常だったのに、運用保守の問題に違いない(テスト環境は正常だが、オンライン化後に問題が発生したので、運用保守の問題に違いない)」という認識が軽減されます。

3) 迅速かつ効率的な開発ライフサイクル

Docker の目標の 1 つは、コードの開発、テスト、展開、オンライン操作のサイクルを短縮し、アプリケーションの移植性、構築の容易さ、共同作業の容易さを実現することです。 (簡単に言うと、Docker は多くのオブジェクトを格納できる箱のようなものです。これらのオブジェクトが必要な場合は、箱から 1 つずつ取り出すことなく、大きな箱から直接取り出すことができます。)

4) サービス指向アーキテクチャの使用を奨励する

Docker は、サービス指向アーキテクチャとマイクロサービス アーキテクチャも推奨します。 Docker では、単一のコンテナで 1 つのアプリケーションまたはプロセスのみを実行し、分散アプリケーション モデルを形成することを推奨しています。このモデルでは、アプリケーションまたはサービスを内部的に相互接続された一連のコンテナとして表すことができるため、分散アプリケーションのデプロイ、アプリケーションの拡張またはデバッグが非常に簡単になり、プログラムのイントロスペクションも向上します。 (もちろん、1つのコンテナで複数のアプリケーションを実行することもできます)

Dockerで何をするか

コンテナは分離を提供し、さまざまなテストに適したサンドボックス環境を提供できます。さらに、コンテナ

PHP の「標準」的な性質により、サービスの構成要素を作成するのに最適です。 Docker のいくつかのアプリケーション シナリオは次のとおりです。

  • ローカル開発とビルドのプロセスを高速化し、効率と軽量性を高めます。ローカル開発者は Docker コンテナを構築、実行、共有できます。コンテナは開発環境で構築でき、その後テスト環境に簡単にプッシュし、最終的には本番環境にプッシュできます。
  • これにより、独立したサービスまたはアプリケーションが、異なる環境で同じ動作結果を達成できるようになります。これは、マイクロサービスに大きく依存するサービス指向のアーキテクチャとデプロイメントで特に役立ちます。
  • Docker を使用して、テスト用の分離された環境を作成します。たとえば、Jenkins CI などの継続的インテグレーション ツールを使用して、テスト用のコンテナを起動します。
  • Docker を使用すると、開発者は最初から本番環境にデプロイしてテストするのではなく、複雑なプログラムやアーキテクチャをローカル マシン上で構築してテストすることができます。

インストールと操作

1. UbuntuにDockerをインストールする

Ubuntuのaptソースインデックスを更新する

sudo apt-getアップデート

apt が HTTPS 経由でリポジトリを使用できるようにするパッケージをインストールします。

sudo apt-get インストール \
  apt-transport-https \
  ca証明書\
  カール\
  ソフトウェアプロパティ共通

Docker公式GPGキーを追加する

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key を追加 -

Docker安定リポジトリの設定

sudo aptリポジトリを追加\
  "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) \
  安定した"

リポジトリを追加したら、aptソースインデックスを更新します

sudo apt-getアップデート

Docker CE(コミュニティエディション)の最新バージョンをインストールします

sudo apt-get で docker-ce をインストールします

Docker CEが正しくインストールされているか確認する

sudo docker run hello-world

インストールが成功したことを示す次のメッセージが表示されます。

コマンドを実行するたびに sudo を入力しなくても済むように、ユーザー権限を設定できます。コマンドを実行した後は、ログアウトして再度ログインする必要があることに注意してください。

sudo usermod -a -G docker $USER

2. 開始と停止

Dockerをインストールすると、デフォルトでDockerサービスが開始されます。Dockerサービスの開始と停止を手動で制御する必要がある場合は、次のコマンドを実行できます。

# Dockerを起動する
sudo サービス docker 開始

# Dockerを停止する
sudo サービス docker 停止

# Dockerを再起動
sudo サービス docker を再起動

3. Dockerイメージの操作

1. 画像を一覧表示する

dockerイメージls

2. イメージをプルする

特定のイメージを取得するには、次のようにプルコマンドを使用して、ウェアハウスからローカルにイメージをプルします。

docker イメージ プル ライブラリ/hello-world

Docker が公式に提供しているイメージファイルはすべて library グループに配置されているため、デフォルトのグループとなり省略可能です。したがって、上記のコマンドは次のように記述できます。

docker イメージのプル hello-world

3. 画像を削除する

docker image rm イメージ名またはイメージID

4. Dockerコンテナの操作

コンテナを作成する

docker run [オプション] イメージ名 [起動コンテナに渡されるコマンド]

一般的なオプションパラメータの説明:

  • -iはコンテナを「インタラクティブモード」で実行することを意味します
  • -t は、コンテナが起動後にコマンドラインに入ることを意味します。これら 2 つのパラメータを追加すると、コンテナの作成後にコンテナにログインできるようになります。つまり、疑似端末を割り当てます。
  • --name 作成したコンテナに名前を付ける
  • -v はディレクトリのマッピング関係を示します (前者はホストディレクトリ、後者はホストにマッピングされたディレクトリ、つまりホストディレクトリ: コンテナ内のディレクトリ)。複数の -v を使用して、複数のディレクトリまたはファイルをマッピングできます。注: ディレクトリ マッピングを実行し、ホスト マシンで変更を加えてから、それをコンテナーに共有するのが最適です。
  • -d 実行後に -d パラメータを追加すると、保護されたコンテナが作成され、バックグラウンドで実行されます (この方法では、コンテナの作成後に自動的にログインすることはありません。 -i -t パラメータのみを追加すると、作成後にコンテナに自動的に入ります)。
  • -p はポート マッピングを意味します。前者はホスト ポート、後者はコンテナー内のマッピング ポートです。複数の -p を使用して複数のポートをマップできます。
  • -e はコンテナの環境変数を設定します
  • --network=hostはホストのネットワーク環境をコンテナにマッピングすることを意味し、コンテナのネットワークはホストのネットワークと同じです。

インタラクティブコンテナ

たとえば、インタラクティブコンテナを作成し、myubuntuという名前を付けます。

docker run -it --name=myubuntu ubuntu /bin/bash

Ubuntu環境であるコンテナ内ではLinuxコマンドを自由に実行できます。exitコマンドを実行して終了するとコンテナも停止します。

保護されたコンテナ

デーモン コンテナを作成する: コンテナを長時間実行する必要がある場合は、デーモン コンテナを作成できます。コンテナ内から出るとコンテナは停止しません。

docker run -dit --name=myubuntu2 ubuntu

実行中のコンテナに入る

docker exec -it コンテナ名またはコンテナID 入力後に最初に実行されるコマンド

のように

docker exec -it myubuntu2 /bin/bash

コンテナを表示

# このマシンで実行中のコンテナを一覧表示する docker container ls

# 終了した docker コンテナを含む、このマシン上のすべてのコンテナを一覧表示します ls --all

コンテナの停止と起動

#すでに実行中のコンテナを停止する docker container stop コンテナ名またはコンテナID

# 停止したコンテナを起動する docker container start コンテナ名またはコンテナID

# 実行中のコンテナを強制終了する docker container kill コンテナ名またはコンテナID

コンテナの削除

docker コンテナ rm コンテナ名またはコンテナ ID

5. コンテナを画像として保存する

次のコマンドでコンテナをイメージとして保存できます。

docker commit コンテナ名 イメージ名

6. イメージのバックアップと移行

saveコマンドを使用して画像をファイルにパッケージ化し、他の人にコピーして使用することができます。

docker save -o 保存されたファイル名 イメージ名

のように

docker save -o ./ubuntu.tar ubuntu

画像ファイルを取得したら、load メソッドを使用してローカル コンピューターに画像を読み込むことができます。

docker load -i ./ubuntu.tar

Dockerを使用してFastDFSをインストールする

1. 画像を取得する

既存の FastDFS Docker イメージを使用して FastDFS を実行できます。

画像をダウンロードするには

docker イメージのプル delron/fastdfs

イメージをロードしたら、FastDFS のトラッカーとストレージの実行を開始できます。

2. トラッカーを実行する

トラッカーサービスを開始するには、次のコマンドを実行します。

docker run -dti --network=host --name tracker -v /var/fdfs/tracker:/var/fdfs delron/fastdfs トラッカー

fastDFS トラッカーの実行ディレクトリをローカルの /var/fdfs/tracker ディレクトリにマップします。

トラッカーが実行中かどうかを確認するには、次のコマンドを実行します。

docker コンテナ ls

トラッカーサービスを停止したい場合は、次のコマンドを実行してください。

docker コンテナ停止トラッカー

停止後、トラッカーを再実行し、次のコマンドを実行します。

docker コンテナ スタート トラッカー

3. ストレージを実行する

ストレージサービスを開始するには、次のコマンドを実行します。

docker run -dti --network=host --name storage -e TRACKER_SERVER=10.211.55.5:22122 -v /var/fdfs/storage:/var/fdfs delron/fastdfs ストレージ
  • TRACKER_SERVER=ローカル IP アドレス: 22122。ローカル IP アドレスに 127.0.0.1 を使用しないでください。
  • fastDFSストレージの実行ディレクトリをローカルの/var/fdfs/storageディレクトリにマッピングします。

ストレージが稼働しているかどうかを確認するには、次のコマンドを実行します。

docker コンテナ ls

ストレージサービスを停止したい場合は、次のコマンドを実行します。

docker コンテナ ストレージの停止

停止後、ストレージを再実行し、次のコマンドを実行します。

docker コンテナ ストレージの開始

注: 操作を再実行できない場合は、/var/fdfs/storage/data ディレクトリ内の fdfs_storaged.pid ファイルを削除し、ストレージを再実行してください。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • DockerにFastDFSをインストールする方法
  • Docker で FastDFS ファイル システムを構築する (マルチイメージ チュートリアル)
  • Docker で FastDFS をデプロイする方法
  • Docker に fastdfs イメージをインストールする際の注意事項

<<:  MySQL フルテキスト検索の中国語ソリューションとサンプルコード

>>:  Vue 3 カスタムディレクティブ開発の概要

推薦する

CSS3で実装された炎のアニメーション

成果を達成する実装コードhtml <div class="コンテナ">...

Linux の高性能ネットワーク IO と Reactor モデルの分析

目次1. 基本概念の紹介2. ネットワークIOの読み取りと書き込みのプロセス3. 5つのLinuxネ...

Vue ライフサイクルの紹介とフック関数の詳細な説明

目次Vueライフサイクルの紹介とフック機能VUEライフサイクルフックVue ライフサイクルの紹介作成...

Grafana+Prometheus を使用して MySQL サービスのパフォーマンスを監視する

Prometheus (プロメテウスとも呼ばれる) 公式サイト: https://prometheu...

Tomcat のメモリ構成の正しい姿勢についての簡単な説明

1. 背景多くのブログや記事を読みましたが、JVM のメモリ割り当て方法に関する包括的な記事は見つか...

Dockerでコンテナを作成するときにコンテナIPを指定する実装例

Docker はコンテナを作成するときに、デフォルトでブリッジ ネットワークを使用し、IP アドレス...

Dockerを使用して分散lnmpイメージを作成する

目次1. Docker分散lnmpイメージ生成1. Nginx、MySQL、PHPコンテナを実行する...

MySQL のスケジュールされた完全なデータベースバックアップ

目次1. MySQLデータのバックアップ1.1、データをバックアップするためのmysqldumpコマ...

ページ切り替え効果を実現するJSコード

この記事の例では、ページ切り替え効果を実現するためのJSコードの具体的なコードを参考までに共有してい...

MySQLの保存場所を新しいディスクに移行する方法

1. 新しいディスクを準備し、現在のルートパーティションと同じファイルシステムでフォーマットし、ディ...

DockerにRabbitMQを素早くインストールする方法

1. 画像を取得する #Webコントロールページを含むバージョンを指定します docker pull...

Ubuntu 20.04 に MySql5.7 をインストールして構成するための詳細なチュートリアル

目次1. Ubuntuソースの変更2. MySQLをインストールする3. 新しいユーザーを作成し、権...

Dockerfile に基づいて Tomcat イメージを構築する方法

Dockerfile は Docker イメージを構築するために使用されるファイルです。コマンドパラ...

CSS はモバイル互換性の問題を解決するために 0.5px の線を実装します (推奨)

【コンテンツ】: 1.背景画像のグラデーションスタイルを使用する2. スケールを使ってズームできる...

Linux でプロセスを効果的に管理するための 8 つのコマンド

序文プロセス管理の役割:サーバーの健全性状態を判定する: プロセスの状態 (メモリ、CPU 占有率な...