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 でスパン幅が決定されない場合の解決策

推薦する

JavaScriptはキュー構造プロセスを実現する

目次1. キューを理解する2. カプセル化キュー3. 太鼓をたたいて花を渡す場合1. キューを理解す...

iconfontアイコンライブラリをvueに導入するエレガントな実践記録

目次序文SVGを生成するSVGスプライトの紹介プロジェクトアイコンを取得するプロジェクトのセットアッ...

JavaScript 関数をよりエレガントにする方法

目次分割代入を使用したオブジェクトパラメータコールバック関数の命名条件文を説明的にするスイッチ文をM...

Vueプロジェクトウォッチで関数が繰り返しトリガーされる問題の解決

目次問題の説明:解決策1解決策2問題の説明:ページ A と B の 2 つがあり、各ページにはget...

イントラネット侵入を実現するためのSSHポート転送

LAN 内のマシンは外部ネットワークにアクセスできますが、外部ネットワークは内部ネットワークにアクセ...

画像の下部の空白部分の問題を解決する

最近のプロジェクトに取り組んでいるとき、下の図に示すように、画像を参照すると常に下部に空白スペースが...

MySQL 8.0.19 winx64 インストールチュートリアルと Windows 10 での初期パスワードの変更

この記事では、参考までにMySQL 8.0.19 winx64のインストールチュートリアルを紹介しま...

Vue コンポーネントの切り替え、動的コ​​ンポーネント、コンポーネントのキャッシュについて

目次1. コンポーネント切り替え方式方法1: v-ifとv-elseを使用する方法 2: 組み込みコ...

HTML でのアンカーポイントの使用_PowerNode Java アカデミー

ここで、アンカー ポイントを制御するいくつかの状況をまとめてみましょう。 1. 同じページ <...

Centos7 での python3 のインストールとアンインストールに関するチュートリアル

1. Python 3をインストールする1. 依存パッケージをインストールしますyum instal...

Nginx インストールの詳細なチュートリアル

1. Nginxの簡単な紹介Nginx は、無料のオープンソースの高性能 HTTP サーバーおよびリ...

Ubuntu システムにおける Mysql ERROR 1045 (28000): ユーザー root@localhost へのアクセスが拒否される問題の解決方法

最初の方法: skip-grant-tables: 非常に便利なmysql起動パラメータ非常に便利な...

Nginx セッション共有問題の解決策の分析

この記事は主に、Nginx セッション共有の問題に対する解決策を紹介します。記事内のサンプル コード...

jsはテーブルドラッグオプションを実装します

この記事の例では、テーブルドラッグオプションを実装するためのjsの具体的なコードを参考までに共有して...

MySQL 文字列インデックスのより合理的な作成ルールに関する議論

序文MySQL インデックスの使用に関しては、これまでインデックスの最左接頭辞ルール、インデックス ...