序文 この記事では、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
ドッカーの作成 これは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 を応援していただきありがとうございます。 以下もご興味があるかもしれません:
|
<<: CentOS7 は rpm パッケージを使用して mysql 5.7.18 をインストールします
>>: JavaScript はフロントエンド Web ページでカウントダウンを実装します
序文この記事では、主にWeb開発のためのクロスドメインソリューションを紹介し、参考と学習のために共有...
長期間稼働しているデータベースの場合、テーブルがストレージ領域を占有しすぎるという問題がよく発生しま...
公式サイトからダウンロードしたmysql-8.0.19-winx64 Windows (x86、64...
ホスト名を変更する場合は、以下の手順に従ってください。ホスト名の使用hostnameコマンドを使用す...
序文実稼働環境で Docker を使用する場合、多くの場合、データを複数のコンテナ間で永続化または共...
MySQL インストール パッケージをダウンロードします。mysql-8.0.11-winx64 を...
Portainer は、ステータス表示パネル、アプリケーション テンプレートの迅速な展開、コンテナ ...
一般的に使用される Oracle10g パーティションは、範囲 (範囲パーティション)、リスト (リ...
<br />私は数年間フロントエンドに取り組んできました。フロントエンドについて完全に理...
目次vモデル.sync微妙な違い機能シナリオを要約します。 vモデル <!--親コンポーネント...
実験環境: MYSQL 5.7.22バイナリログを有効にするログ形式 MIXED実験プロセス: 1....
VC6.0は確かに古すぎるVC6.0は昔の開発ツールです。現在のwin10では対応していません。しか...
問題の起源docker を使用する場合、残念ながら docker コンテナ内のホストのポート 80 ...
1. テーブルを作成する テーブル「学生」を作成( `id` int(11) NULLではない、 `...
目次1. ブラウザのサポート2.エクスポートモジュールのエクスポート3. モジュールをインポートする...