Linux で docker-compose を使用したソフトウェア構成の詳細な説明

Linux で docker-compose を使用したソフトウェア構成の詳細な説明

序文

この記事では、docker-compose の構成をいくつか紹介します。これらを参考にして、独自の docker ベースの開発/運用環境の構成をまとめることができます。詳しい紹介を見てみましょう。

dockerとdocker-composeをインストールする

dockerをインストールする

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

docker-compose をインストールする

sudo curl -L https://github.com/docker/compose/releases/download/1.23.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

専用ネットワークを作成する

dockerネットワークを使用して、dockerソフトウェアが相互にアクセスできるように、専用の共通ネットワークme_gatewayを作成します。

docker ネットワーク me_gateway を作成します

docker-compose デプロイ traefik

リバース プロキシ サーバーは非常に高速で、サービスの自動検出、https などの自動アプリケーション、プロジェクト アドレス、中国語のドキュメントなどの優れた機能を備えています。

ドッカーの作成

これはtraefikを使用したdocker-compose.yml設定の例です。

このうち、マウントされている ./traefik.toml がその構成です。

マウントされたacme.jsonはLet's Encryptの設定です

バージョン: '3'

バージョン: '3'

サービス:
 トラエフィック:
 画像: traefik:1.7.4
 コンテナ名: me_traefik
 ポート:
 - '80:80'
 - '443:443'
 - '8090:8090'
 ボリューム:
 - /var/run/docker.sock:/var/run/docker.sock
 - ./traefik.toml:/traefik.toml
 - ./acme.json:/acme.json
 ネットワーク:
 - ウェブゲートウェイ
ネットワーク:
 ウェブゲートウェイ:
 外部の:
 名前: me_gateway

トラエフィック

詳細な設定の説明: http://docs.traefik.cn/toml#acme-lets-encrypt-configuration

以下は例です。検証の設定時に問題が発生した場合は、次の設定またはこの記事のコメントを参照してください。

################################################################
# グローバル設定
################################################################

# デバッグモードを有効にする
#
# オプション
# デフォルト: false
#
デバッグ = false

# ログレベル
#
# オプション
# デフォルト: "ERROR"
#
ログレベル = "エラー"

# エントリポイントを指定しないフロントエンドで使用されるエントリポイント。
# 各フロントエンドは独自のエントリポイントを指定できます。
#
# オプション
# デフォルト: ["http"]
#
デフォルトエントリポイント = ["http","https"]
################################################################
# エントリポイントの設定
################################################################

# エントリポイントの定義
#
# オプション
# デフォルト:
# エントリポイントの基本認証を有効にするには
# ユーザー名/パスワードを2セット使用します: test:test と test2:test2
# パスワードは MD5、SHA1、または BCrypt で暗号化できます。htpasswd を使用してこれらのユーザー名とパスワードを生成できます。
# [エントリポイント]
# [エントリポイント.http]
# アドレス = ":80"
# [エントリポイント.http.auth.basic]
# ユーザー = ["test:$apr1$H6uskkkW$IgXLP6ewTrSuBkTrqE8wj/", "test2:$apr1$d9hr9HBB$4HxwgUir3HP4EsggP/QNo0"]
#
# エントリポイントのダイジェスト認証を有効にするには
# ユーザー名/ドメイン/パスワードを 2 セット使用します: test:traefik:test と test2:traefik:test2
# htdigest を使用してこれらのユーザー名/ドメイン/パスワードを生成できます [entryPoints]
 [エントリポイント.http]
 アドレス = ":80"
#[エントリポイント.http.リダイレクト]
#エントリポイント = "https"
 [エントリポイント.https]
 アドレス = ":443"
 [エントリポイント.https.tls]
 [entryPoints.webentry]
 アドレス = ":8090"
 [エントリポイント.webentry.auth]
 [エントリポイント.webentry.auth.basic]
  ユーザー = ["テスト:$apr1$H6uskkkW$IgXLP6ewTrSuBkTrqE8wj/"]
################################################################
# APIとダッシュボードの設定
################################################################

# APIとダッシュボードを有効にする
[API]
ダッシュボード = true
エントリポイント = "webentry"

################################################################
# Ping設定
################################################################

# pingを有効にする
[ピン]

 # 関連するエントリポイントの名前
 #
 # オプション
 # デフォルト: "traefik"
 #
 # エントリポイント = "traefik"

################################################################
# Docker バックエンド構成#################################################################################

# デフォルトのドメイン名を使用します。
# コンテナに「traefik.domain」ラベルを設定することで上書きできます。
# Dockerバックエンド構成を有効にする [docker]
エンドポイント = "unix:///var/run/docker.sock"
ドメイン = "yimo.link"
ウォッチ = 真
デフォルトで公開 = false
usebindportip = true
swarmMode = 偽
ネットワーク = "me_gateway"

[アクメ]
メールアドレス = "[email protected]"
ストレージ = "acme.json"
エントリポイント = "https"
オンデマンド = false
onHostRule = 真
 [acme.httpチャレンジ]
 エントリポイント="http"

docker-composeはGogsをデプロイし、traefikを使用してドメイン名をバインドします

mysqlでビルドしたい場合は、この設定を参照してください。

ドッカーの作成

バージョン: '3'
サービス:
 メゴグス:
 再起動: 常に
 画像: ゴグス/ゴグス
 コンテナ名: me_gogs
 ボリューム:
 - ./データ:/データ
 - ./logs:/app/gogs/log
 ポート:
 - '10022:22'
 - '10080:3000'
 ラベル:
 - 'traefik.backend=me_gogs'
 - 'traefik.frontend.rule=ホスト:git.yimo.link'
 - 'traefik.enable=true'
 - 'traefik.protocol=http'
 - 'traefik.port=3000'
 ネットワーク:
 - ウェブゲートウェイ
ネットワーク:
 ウェブゲートウェイ:
 外部の:
 名前: me_gateway

初期化中に、ドメイン名を0.0.0.0またはgit.yimo.linkに設定する必要があります。

つまり、./data/gogs/conf/app.iniの項目は

ドメイン = git.yimo.link

docker-compose デプロイ mysql

同じネットワーク上で、me_mysqlを使用して直接接続できることは注目に値します。

ドッカーの作成

バージョン: '3'
サービス:
 私のMySQL:
 イメージ:mysql:5.7.21
 コンテナ名: me_mysql
 ボリューム:
 - ./data:/var/lib/mysql
 ポート:
 - '3306:3306'
 環境:
 -MYSQL_ROOT_PASSWORD=ルート
 ネットワーク:
 - ウェブゲートウェイ
ネットワーク:
 ウェブゲートウェイ:
 外部の:
 名前: me_gateway

要約する

上記はこの記事の全内容です。この記事の内容が皆さんの勉強や仕事に一定の参考学習価値を持つことを願っています。ご質問があれば、メッセージを残してコミュニケーションしてください。123WORDPRESS.COM を応援していただきありがとうございます。

以下もご興味があるかもしれません:
  • Docker Compose 構成ファイルの記述とコマンドの使用例
  • Docker Compose を使用して ElasticSearch 構成プロセスを構築およびデプロイする
  • Docker-compose インストール yml ファイルの設定方法
  • docker compose を使ってワンクリックで分散構成センター Apollo を展開するプロセスの詳細な説明
  • Jenkins の docker-compose デプロイメントと構成に関する詳細なチュートリアル
  • Docker.v19 で Docker Compose オーケストレーション ツールをインストールして構成する方法
  • Spring環境を構成するためのDocker-composeの手順
  • Docker Compose 構成ファイルパラメータの詳細な説明

<<:  CentOS7 は rpm パッケージを使用して mysql 5.7.18 をインストールします

>>:  JavaScript はフロントエンド Web ページでカウントダウンを実装します

推薦する

スタイルを書く際の背景色宣言の重要性

タイトルの通り、ページを修正すると以下のような状況が発生する可能性があります。現在、古いページを改修...

ウェブ上でチャートを描くための 9 つの優れた JavaScript フレームワーク スクリプト

ウェブ上でチャートを描くための 9 つの優れた JavaScript フレームワーク スクリプト 1...

SSM VUE Axios の詳細な説明

目次SQL ログを表示するにはどうすればいいですか? ? SpringMVC でのパラメータ渡しの説...

CSS3 シンプルカットカルーセル画像実装コード

実装のアイデアまず、親コンテナーを作成し、2 つの順序なしリストを使用して、柔軟なレイアウトで親コン...

Navicat PremiumでSQLファイルをインポートする方法

今日、最終プロジェクトに取り組み始めましたが、今年はMySQLデータベースを使用したため、Navic...

js 実行コンテキストとスコープの概要

目次序文文章1. JavaScriptコードの実行プロセスに関連する概念2. 実行コンテキストと実行...

Docker に Zookeeper を素早くインストールする方法の詳細なチュートリアル

Docker で Zookeeper を素早くインストール会社を変わってから長らくZookeeper...

ubuntu16.04 で nginx を完全にアンインストールするための関連コマンド

nginx の概要nginx は、無料のオープンソースの高性能 HTTP サーバーおよびリバース プ...

Ubuntuで余分なカーネルを削除する方法

ステップ1: 現在のカーネルを表示する 読み取る $ uname -a Linux rew 4.15...

CSS での三角形の描画と巧妙な応用例の詳細な説明

鉛Web ページ上の一般的な三角形の一部は、画像やフォント アイコンにする必要なく、CSS を使用し...

MySQLとRedisでセカンダリキャッシュを実装する方法の詳細な説明

Redis の紹介Redis は完全にオープンソースで無料であり、BSD プロトコルに準拠しており、...

ウェブサイトアイコンを追加するにはどうすればいいですか?

最初のステップは、アイコン作成ソフトウェアを準備することです。まず、いわゆるアイコンは拡張子 .ic...

MySQL 外部キー制約の無効化と有効化コマンド

MySQL 外部キー制約の無効化と有効化: MySQL 外部キー制約が有効になっているかどうかは、グ...

国内SNSのホームページを比較・分析して得た経験をみんなで共有(写真)

この記事では、ソーシャル ウェブサイトのホームページを比較分析することで洞察を得て、ソーシャル ウェ...

Docker での Redis の永続ストレージの詳細な説明

この章では、dockerの下にあるSpring BootプロジェクトでRedisを操作し始めます。準...