docker compose helloworld を使い始めるための詳細なプロセス

docker compose helloworld を使い始めるための詳細なプロセス

前提条件

Compose は、Docker コンテナをオーケストレーションするためのツールです。Docker アプリケーションを統合および公開するための強力なツールです。マルチコンテナ アプリケーションを定義して実行できます。Compose では、YAML ファイルを使用してアプリケーション サービスを設定できます。次に、簡単なコマンドを 1 つ実行するだけで、構成したすべてのサービスが作成され、開始されます。

Docker-compose は Docker をベースとしているため、Docker-compose を使用する前に Docker をインストールする必要があります。

Compose を使用するには、基本的に次の 3 つの手順を実行します。

Dockerfile でアプリケーション環境を定義します。複数の Docker アプリケーションにすることができます。
docker-compose.yml でアプリケーションを構成するサービスを定義します。
docker-compose up コマンドを使用して、アプリケーション ソリューション全体を実行します。

参考URL:

Dockerのインストール

  • 古いバージョンをアンインストールする
sudo yum dockerを削除します\
                dockerクライアント\
                docker-client-最新 \
                docker-common \
                docker-最新 \
                docker-最新-logrotate \
              docker-logrotate \
                dockerエンジン
  • Docker Engine をインストールする - コミュニティ
sudo yum install -y yum-utils デバイスマッパー永続データ lvm2
sudo yum-config-manager \
  --リポジトリを追加\
  http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo yum インストール docker-ce docker-ce-cli containerd.io
  • Dockerを起動する
sudo systemctl dockerを起動します
  • プラグインをインストールする
yum インストール https://download.docker.com/linux/fedora/30/x86_64/stable/Packages/containerd.io-1.2.6-3.3.fc30.x86_64.rpm
  • Dockerが正常にインストールされているかどうかをテストする
docker --バージョン

到此docker安裝完成!!!

docker-compose のインストール

公式サイトのダウンロードアドレスは遅い場合がありますので、以下を使用することをお勧めします

  • ダウンロードしてインストールする
curl -L https://get.daocloud.io/docker/compose/releases/download/1.26.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
  • 承認(承認を受ける必要がある、権限がない場合には責任を負う)
chmod +x /usr/local/bin/docker-compose
  • docker-compose が正常にインストールされていることを確認します (バージョンを確認してください)
docker-compose バージョン

画像-20210918114058939

到此docker-compose 安裝成功!!!

Docker Compose を使い始める

docker-compose を通じて mysql および redis コンテナを生成する

1. プロジェクトディレクトリを作成し、

$ mkdir コンポーズテスト
$ cd コンポーズテスト

2. docker-compose.ymlファイルを作成し、プロジェクトディレクトリに配置します。

ファイルの具体的な内容は次のとおりです。

バージョン: "3.0"
サービス:
  mysqldb:
    イメージ:mysql:5.7.19
    コンテナ名: mysql
    ポート:
      - 「3306:3306」
    ボリューム:
      - /root/mysql/conf:/etc/mysql/conf.d
      - /root/mysql/logs:/logs
      - /root/mysql/データ:/var/lib/mysql
    環境:
      MYSQL_ROOT_PASSWORD: ルート
    ネットワーク:
      -ems
    依存:
      - レディス

  レディス:
    イメージ: redis:4.0.14
    コンテナ名: redis
    ポート:
      - 「6379:6379」
    ネットワーク:
      -ems
    ボリューム:
      - /root/redis/データ:/データ
    コマンド: redis-server
    
ネットワーク:
  EMS:

3. 開始

現在のフォルダから開始

  • フロントデスクのスタートアップ

docker-compose up

  • バックグラウンド起動

docker-compose up -d

出力ログは次の通りです

画像-20210918114856486

Dockerのコンテナが利用可能かどうかを確認する

コンテナが生成されているかどうかを確認する

画像-20210918115145469

Redisコンテナが利用可能かどうかをテストする

画像-20210918115226368

mysqlコンテナが利用可能かどうかをテストする

画像-20210918115329685

到此入門案例已經完成!!!

要約する

1. 権限の問題により、docker-composeコマンドを実行できません。権限を開いて次のコマンドを実行する必要があります。

chmod +x /usr/local/bin/docker-compose

2. 学習期間中、仮想マシンで docker-compose を使用して基本的なハードウェア設備を構築できます。これは非常に便利で、環境の設定や基本的なサービスのインストールにかかる時間を大幅に節約できます。

3. Docker-composeはまだ学ぶ必要がある

参考URL:

https://mp.weixin.qq.com/s/KXUm2ydAgymaNzHDiMlg0g

権限不足の落とし穴

https://blog.csdn.net/weixin_41598660/article/details/104034179

これで、docker compose helloworld の入門に関するこの記事は終了です。docker compose helloworld の入門に関する詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Docker-compose におけるdepends_on 順序問題を解決する方法についての簡単な説明
  • docker-compose で Jenkins をインストールする際の実践的なメモ
  • Docker Compose のインストールと使用手順
  • Docker Compose のサイドカーモードの詳細な説明

<<:  Mysql データベースのマスタースレーブ同期構成

>>:  Firefox または IE でスパン幅が決定されない場合の解決策

推薦する

JS ES の新機能、変数分離割り当て

目次1. 配列の分離割り当て1.1 配列分離割り当てとは何ですか? 1.2 配列分離割り当てに失敗し...

ウェブサイトにファビコンを追加するためのヒント: URLの前の小さなアイコン

いわゆるファビコンは、Favorites Icon の略で、中国語ではウェブサイトアバターと呼ばれて...

乱数、文字列、日付、検証コード、UUIDを生成するMySQLメソッド

目次乱数を生成する0から1までの乱数を生成する指定された範囲内で乱数を生成します6桁のモバイル認証コ...

大量のデータを含むエレメントのシャトルボックスで「すべて選択」をクリックするとスタックする問題の解決方法

目次解決策1: EUIの転送コンポーネントをコピーして変更し、プロジェクトディレクトリに導入する解決...

dockerネットワーク双方向接続の詳細な説明

Dockerネットワークを見るdocker ネットワーク ls [root@master ~]# d...

MySQLで偽または真を保存する方法

MySQL ブール値、偽または真を格納つまり、データベースに保存されるブール値は 0 と 1 であり...

MySQL の null 制約のケースの説明

目次テーブルを作成するときにNOT NULL制約を設定するテーブルを変更するときに非NULL制約を追...

シェルスクリプトによるDockerコンテナの起動順序の制御の詳細な説明

1. 遭遇した問題分散プロジェクトの展開プロセスでは、サーバーの再起動後にアプリケーション(データベ...

CSS 疑似クラス: 空っぽだと光る (サンプルコード)

最近私の記事を読んだ人なら誰でも、私が現在WeChatミニプログラムプロジェクトを担当しており、その...

Apache POIの基本的な使い方の詳しい説明

目次基本的な紹介入門テスト (Excel ファイルからのデータの読み取り)ステップ1: Maven座...

Vue フィルター、ライフサイクル関数、vue-resource の簡単な紹介

1. フィルター例: <!DOCTYPE html> <html lang=&qu...

MySQL マルチテーブル結合入門チュートリアル

接続は、実際の外部キー(人工的に作成された 2 つのテーブル間の対応関係を指します。対照的に、FOR...

HTML 中国語文字エンコード標準の概要

HTML では、Web ページで使用されるエンコーディングを指定する必要があります。一般的な指定方法...

CentOS7.8 に mysql 8.0.20 をインストールするための詳細なチュートリアル

1. MySQLソフトウェアをインストールするMySQL 公式 Yum リポジトリ、MySQL バー...

CentOS7 のシステム サービスに Nginx を追加する方法

導入コンパイル、インストール、問題の解決後、Nginx は正常に動作していますが、現時点では Ngi...