Docker 共通サービスのインストールと使用方法のチュートリアル

Docker は共通サービスをインストールします

1.mysqlをインストールする

# 1. mysql イメージをローカルにプルする
docker pull mysql:tag (タグはデフォルトでは最新バージョンを追加しません)
# 2. mysql サービスを実行する
docker run --name mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:tag -- 外部ポートが公開されていないため、外部に接続できません
docker run --name mysql -e MYSQL_ROOT_PASSWORD=root -p 3306:3306 -d mysql:tag -- 外部ポートを公開すると、外部から接続できるようになります (ファイアウォールが公開されたポートを開き、ポートが競合できない場合)
# 3. mysqlコンテナに入る
docker exec -it コンテナ名|コンテナ ID bash
# 4. mysql ログを外部から表示する
docker ログのコンテナ名|コンテナ ID
# 5.mysqlコンテナ起動設定
docker run --name mysql -v /root/mysql/data:/var/lib/mysql -v /home/mysql/my.cnf:/etc/my.cnf -e MYSQL_ROOT_PASSWORD=root -p 3306:3306 -d mysql:タグ
    設定項目の説明:
  • -v /root/mysql/data:/var/lib/mysql: データのマウント
  • -v /home/mysql/my.cnf:/etc/my.cnf: mysql 設定ファイルをマウントします (独自のコンテナ内の設定場所に従って、コンテナに入り、find / -name my.cnf を使用してクエリできます)設定ファイルの場所)
  • -e MYSQL_ROOT_PASSWORD=root: root アカウントのパスワードを設定します。
    
# 6. データのバックアップは、ウィンドウ システム | macos システム (クライアント ツール モード) でのクライアント ツールの使用など、他のクライアント アクセスを通じて実行できます。
# 7. mysql データベースを SQL ファイルとしてバックアップする (コマンド モード)
docker exec mysql|コンテナID sh -c 'exec mysqldump --all-databases -uroot -p"$MYSQL_ROOT_PASSWORD"' > /root/all-databases.sql --すべてのデータをエクスポートします
docker exec mysql sh -c 'exec mysqldump --databases データベース テーブル -uroot -p"$MYSQL_ROOT_PASSWORD"' > /root/all-databases.sql -- 指定されたデータベース データをエクスポートします
docker exec mysql sh -c 'exec mysqldump --no-data --databases データベース テーブル -uroot -p"$MYSQL_ROOT_PASSWORD"' > /root/all-databases.sql -- 指定されたデータベース データをデータなしでエクスポートします
# 9. SQL ファイルを mysql 内で実行します
docker exec -i mysql sh -c 'exec mysql -uroot -p"$MYSQL_ROOT_PASSWORD"' < /root/xxx.sql

2. Redis サービスをインストールする

# 1. Docker Hub で Redis イメージを検索する
ドッカー検索 Redis
# 2. Redis イメージをローカルにプルする
ドッカープル Redis

# 3. 設定ファイルのマウント
(1) 設定ファイルの作成
 redis.conf にタッチする

(2) 設定ファイル
 vim redis.confを変更する


(3) 次の設定を追加します
 。bind 0.0.0.0 ----------enable Remote Access

 appendonly はい --------永続性を有効にする
 appendfilename "appendonly.aof" ----------永続ファイル名
 requirepass 123456 ----------パスワードを設定してください
# 4. Redis サービスを開始し、コンテナーを実行します (基本)
docker run --name redis --network 3c -p 6379:6379 -v /home/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf -v /home/redis/db:/データ --restart=always -d redis:5.0.10 redis-server /usr/local/etc/redis/redis.conf 
設定項目の説明:
  • -v /home/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf: マウント設定ファイル
  • -v /home/redis/db:/data: 永続化のためにデータをマウントします。
  • --restart=always: Docker の起動時に Redis コンテナが自動的に起動するように設定します。
  • redis-server /usr/local/etc/redis/redis.conf: docker で redis 構成ファイルのパスを指定します
# 5. 起動ログを表示する
docker logs -t -f コンテナ ID|コンテナ名
# 6. 表示するコンテナーを入力します
docker exec -it コンテナ ID|名前 bash

3.Nginxをインストールする

# 1. Docker Hub で nginx を検索する
ドッカー検索nginx
# 2. nginx イメージをローカルにプルします (次のダウンロードでバージョンが指定されていない場合、デフォルトで最新バージョンがダウンロードされます)
[root@localhost ~]# docker pull nginx
デフォルトのタグを使用: 最新
最新: ライブラリ/nginx からのプル
afb6ec6fdc1c: プルが完了しました
b90c53a0b692: プルが完了しました
11fa52a0fdc0: プルが完了しました
ダイジェスト: sha256:30dfa439718a17baafefadf16c5e7c9d0a1cde97b4fd84f63b69e13513be7097
ステータス: nginx の新しいイメージをダウンロードしました: 最新
docker.io/library/nginx:最新
# 3. nginxコンテナの起動(基本)
docker run --name nginx01 -p 80:80 -d nginx:1.19.10
# 4. コンテナに入る
docker exec -it nginx01 bash
nginx ディレクトリを見つけます。
find / -name 'nginx' ------------------nginx に関するすべてのディレクトリ
find / -name 'nginx.conf' --------------nginx 設定ファイルが配置されているディレクトリ ( /etc/nginx/nginx.conf )
find / -name 'index.html' --------------nginx のインデックス ページは、nginx のリソース ディレクトリでもあるディレクトリ ( /usr/share/nginx/html/index.html ) にあります。 )
# 5. 次に、コンテナーを終了してホストにアクセスします
出口
# 6. 設定ファイルをホストマシンにコピーする
docker cp nginx01 (コンテナ ID|コンテナ名):/etc/nginx/nginx.conf ホスト ディレクトリ
例: docker cp nginx-test:/etc/nginx/nginx.conf ./
# 7. nginx 設定と HTML をホスト マシンの外にハングアップする
docker run --name nginx02 -v /root/nginx/nginx.conf:/etc/nginx/nginx.conf -v /root/nginx/html:/usr/share/nginx/html -p 80:80 -d nginx :1.19.10
nginx はロード バランサーまたはサーバーとして使用できます。

4.Tomcatをインストールする

# 1. Docker Hub で Tomcat を検索する
ドッカー検索トムキャット
# 2. Tomcat イメージをダウンロードする
docker pull tomcat
# 3. Tomcat イメージを実行する
docker run -p 8080:8080 -d --name mytomcat tomcat
# 4. Tomcat コンテナに入る
docker exec -it mytomcat bash
# 5. webapps ディレクトリを外部にマウントする
docker run -p 8080:8080 -v /root/webapps:/usr/local/tomcat/webapps -d --name mytomcat tomcat
#注意:server.xml 構成ファイルがマウントされている場合は、server.xml ファイルへのマウント パスが正確である必要があります。
#以下の例:
docker run --name hkht-tomcat -p 8081:8081 -v /data/hkht/tomcat/webapps:/usr/local/tomcat/webapps -v /data/hkht/tomcat/conf/server.xml:/usr/ local/tomcat/conf/server.xml -d tomcat:8.0-jre8
#ここで注意: 下の図では、設定ファイルが conf ファイルに直接マウントされています。理由はまだわかりませんが、実際には、conf へのマウントは設定ファイルに対して正確ではなく、フロントエンドへのアクセスも正確ではありません。リソースにアクセスできません (互いに分離されていない Web プロジェクトの前後)。
#また、jdk イメージを個別にダウンロードする必要がないため、tomcat の 8.0-jre8 イメージが個別のバージョン番号 8.0 の代わりにここで使用されます。8.0 を使用したい場合は、パッケージ化に dockerfile を使用する必要があります。 jre を含む Tomcat をダウンロードして、プロジェクト (フロントエンドとバックエンドが分離されていない Web プロジェクト) を実行できるようにします。

5.MongoDBデータベースをインストールする

#1. mongDB を実行する
docker run -d -p 27017:27017 --name mymongo mongo ---権限は必要ありません
docker logs -f mymongo ---mongo 実行ログを表示する
# 2. mongodb コンテナに入る
docker exec -it mymongo bash
mongoコマンドを直接実行して操作します
# 3. 権限のある共通コンテナ
docker run --name mymongo -p 27017:27017 -d mongo --auth
# 4. コンテナーを入力してユーザー名とパスワードを設定します
モンゴ
管理者を使用する 管理者ライブラリを選択する
db.createUser({user:"root",pwd:"root",roles:[{role:'root',db:'admin'}]}) //ユーザーを作成します。このユーザーが正常に作成されると、以降操作にはユーザー認証が必要です
出口
# 5. mongoDB のデータ ディレクトリをホストにマッピングする
docker run -d -p 27017:27017 -v /root/mongo/data:/data/db --name mymongo mongo

6. ElasticSearchをインストールする

  • 注: JVM スレッド制限を増やします。

0. イメージをプルし、elasticsearch を実行します。

#1.dockerhubはイメージをプルします
docker pull elasticsearch:6.4.2
# 2. Docker イメージを表示する
ドッカーイメージ
# 3. Docker イメージを実行する
docker run -p 9200:9200 -p 9300:9300 elasticsearch:6.4.2
  • 起動時に以下のエラーが発生する

1. 事前設定済み

# 1. Centos 仮想マシンで、sysctl.conf 構成を変更します。
vim /etc/sysctl.conf
# 2. 次の構成を追加します
vm.max_map_count=262144
# 3. 設定を有効にする
sysctl -p
注: この手順は、コンテナーの起動時に次のエラーが報告されるのを防ぐためのものです。
ブートストラップ チェックが失敗しました。最大仮想メモリ領域 vm.max_map_count [65530] が低すぎる可能性があります。少なくとも [262144] まで増やしてください。

2. ElasticSearchコンテナを起動します

# 0. コンテナ内のデータ ディレクトリをホストにコピーします。
docker cp コンテナ ID:/usr/share/share/elasticsearch/data /root/es
# 1. ES コンテナを実行して、jvm メモリ サイズを指定し、ik ワード セグメンタの場所を指定します。
docker run -d --name es -p 9200:9200 -p 9300:9300 -e ES_JAVA_OPTS="-Xms128m -Xmx128m" -v /root/es/plugins:/usr/share/elasticsearch/plugins -v /root/ es/data:/usr/share/elasticsearch/data elasticsearch:6.4.2

3. IKワードセグメンターをインストールする

# 1. IK ワード セグメンターの対応するバージョンをダウンロードする
# 2. plugins フォルダーに解凍します。
yum install -y unzip
unzip -d ik elasticsearch-analysis-ik-6.4.2.zip
# 3. カスタム拡張ワードとストップワードを追加する
cd プラグイン/elasticsearch/config
vim IKAnalyzer.cfg.xml
<プロパティ>
<comment>IK Analyzer 拡張構成</comment>
<!--ユーザーはここで独自の拡張辞書を構成できます-->
<entry key="ext_dict">ext_dict.dic</entry>
<!--ユーザーはここで独自の拡張ストップワード辞書を設定できます-->
<entry key="ext_stopwords">ext_stopwords.dic</entry>
</プロパティ>
# 4. ik word seminter ディレクトリの下の config ディレクトリに ext_dict.dic ファイルを作成します。有効にするには、エンコードが UTF-8 である必要があります。
vim ext_dict.dic 拡張語を追加するだけです
# 5. ik wordsegmenter ディレクトリの下の config ディレクトリに ext_stopword.dic ファイルを作成します。
vim ext_stopwords.dic ストップワードを追加するだけです
#6. コンテナを再起動して有効にします
docker restart コンテナー ID
# 7. このコンテナを新しいイメージとして送信します
docker commit -a="xiaochen" -m="es with IKAnalyzer" コンテナid xiaochen/elasticsearch:6.4.2

4.キバナのインストール

# 1. kibana イメージをローカルにダウンロードする
docker pull kibana:6.4.2
#2. kibanaコンテナの起動
docker run -d --name kibana -e ELASTICSEARCH_URL= http://10.15.0.3:9200 -p 5601:5601 kibana:6.4.2

7.docker可視化ツール

7.1 Porttainerのインストール

公式のインストール手順: https://www.porttainer.io/installation/
[root@ubuntu1804 ~]# docker pull porttainer/porttainer
# -d: バックグラウンド起動、-p: マップされたポート、--name: コンテナー名、--restart=always: 起動時に自動起動、-v: ハングオン
[root@ubuntu1804 ~]# docker run -d -p 8000:8000 -p 9000:9000 --name=porttainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v ポーター_データ:/データ ポーター/ポーター
20db26b67b791648c2ef6aee444a5226a9c897ebcf0160050e722dbf4a4906e3
[root@ubuntu1804 ~]# docker ps
コンテナ ID イメージ コマンド作成ステータス ポート名
20db26b67b79 porttainer/porttainer "/porttainer" 5 秒前 4 秒前 0.0.0.0:8000->8000/tcp、0.0.0.0:9000->9000/tcp porttainer

7.2 ログインして Portainer を使用する

7.3 管理者パスワードを忘れた場合、パスワードをリセットして確認してください

#コンテナの表示
ドッカーps
#コンテナの詳細を表示
docker inspect 容器id/名称
#画像内のディレクトリアドレスをコピーします
#次のコマンドを実行します: docker run --rm -v ディレクトリアドレス:/data porttainer /helper-reset-password でハングします。
docker run --rm -v /var/lib/docker/volumes/436d93252d9a382768eab7e9b7a29b8a10cbbf990257e37c9171eedc8df21c2e/_data :/data porttainer/helper-reset-password
#その後、ポーターを再起動します
ドッカースタートポーターナー
#再度アクセスしてログインしてください

8.Traefikをインストールする

公式 Web サイトのアドレス: Traefik Labs: 接続性の混乱に別れを告げる

1. トレーフィックとは

    Traefik は、サービスの公開を楽しく簡単にするオープンソース のエッジ ルーターです。システムに代わってリクエストを受信し、どのコンポーネントがリクエストの処理を担当しているかを調べます。
    Traefik の特徴は、多くの機能に加えて、サービスの正しい構成を自動的に検出できることです。Traefik がインフラストラクチャを検査し、関連情報を見つけて、どのサービスがどのリクエストに対応するかを発見すると、魔法が起こります。
    Traefik は、Kubernetes、Docker、Docker Swarm、AWS、Mesos、Marathonなどのすべての主要なクラスタリング テクノロジとネイティブ互換性があり、多くのテクノロジを同時に処理できます。(ベアメタル上で実行されているレガシー ソフトウェアでも機能します。)
     Traefik を使用すると、個別の構成ファイルを保守および同期する必要がなく、すべてが自動的かつリアルタイムで行われます (再起動や接続の中断はありません)。Traefik を使用すると、システムの動作状態を構成して維持するのではなく、新しい機能の開発とシステムへの展開に時間を費やすことができます。

2. コンセプト

Traefik は、エントリ ポイント、ルーター、ミドルウェア、サービスの概念に基づいています。
主な機能には、動的構成、自動サービス検出、複数のバックエンドとプロトコルのサポートが含まれます。
  • EntryPoints:   Traefik へのネットワーク エントリ ポイントです。 これらは、パケットを受信するポートと、TCP または UDP のどちらをリッスンするかを定義します。
  • ルーター:  ルーターは、受信リクエストを処理できるサービスに接続する役割を果たします。
  • ミドルウェア:  ルーターに接続されているミドルウェアは、サービスに送信する前にリクエストまたはレスポンスを変更できます。
  • サービス:  サービスは、受信リクエストを最終的に処理する実際のサービスにアクセスする方法を構成する責任があります。
Traefik はエッジルーターです。つまり、プラットフォームへのフロントドアであり、すべての受信リクエストをインターセプトしてルーティングします。すべてのロジックと、どのサービスがどのリクエストを処理するかを決定するすべてのルールを知っています ( pathhostheadersなどに基づいて)。 )。

従来、エッジ ルーター (またはリバース プロキシ) には、サービスへのすべての可能なパスを含む構成ファイルが必要でしたが、Traefik はサービス自体から構成ファイルを取得します。
サービスをデプロイするには、サービスが処理できるリクエストの特性を Traefik に伝える情報を追加します。

これは、サービスがデプロイされると、Traefik がそれを即座に検出し、ルーティング ルールをリアルタイムで更新することを意味します。同様に、サービスがインフラストラクチャから削除されると、対応するルートもそれに応じて削除されます。
IP アドレスやその他のルールが入り混じった構成ファイルを作成して同期する必要はもうありません。

3. クイックスタート (docker-compose の使用を開始)

    3.1. アリババクラウド
        
        3.1.1. まず第一に、Alibaba Cloud ドメイン名が必要であり、次にサーバーが必要です。どのプラットフォームで購入したかは関係ありません。ドメイン名は登録する必要があることに注意してください。

        3.1.2. ドメイン名解決の追加

        3.1.3. キーと RAM の役割の追加

        
        キーを追加

        RAM ロールを追加するには、まず [ロールの作成] を選択してロール名を指定し、次にアクセス許可を割り当て、 キーワードで承認ポリシー AliyunACMFullAccess を検索し、 承認ポリシーをクリックして、右側で選択した承認リストに追加して、[OK] をクリックします。

        3.1.4.  docker-compose.yml ファイルの作成

docker-compose.ymlにタッチします 

        3.1.5. ローカルネットワークの作成

docker ネットワークがプロキシを作成する

        3.1.6. traefik の docker-compose.yml を書く

バージョン: '3.8'
# 通信網
ネットワーク:
  プロキシ:
    外部: true
#データ量の定義
ボリューム:
  アクメ:
サービス:
  # サービス名
  渋滞:
    # 鏡
    画像:traefik:v2.5.4
        # 通信網
    ネットワーク:
       - プロキシ
    #ポート
    ポート:
        - 「80:80」
        - 「443:443」
        - 「8080:8080」
    ボリューム:
        # タイムゾーン
        - /etc/タイムゾーン:/etc/タイムゾーン
        - /etc/localtime:/etc/localtime
        # Traefik が Docker イベントをリッスンできるようにする
        - /var/run/docker.sock:/var/run/docker.sock
        # 永続的な acme 証明書を生成する
        - アクメ:/etc/acme
    #キー の場所
    環境ファイル:
        - ./.alidns.env
    指示:
        # APIのルーティング・フォワーディング機能を有効にするかどうか
        - --api.insecure=true
        # 基礎となるプロキシとは何ですか?
        - --providers.docker
        # dockerを使ったネットワーク
        - --providers.docker.network=プロキシ
        # docker を公開するかどうか
        - --providers.docker.exusedByDefault=false
      # ウェブ
        # ウェブポート
        - --entryPoints.web.address=:80
        # httpをリダイレクトするかどうか
        - --entrypoints.web.http.redirections.entrypoint.permanent=true
        # リダイレクトカテゴリ
        - --entrypoints.web.http.redirections.entrypoint.scheme=https
        # エントリをリダイレクトします
        - --entrypoints.web.http.redirections.entrypoint.to=websecure
      # ウェブセキュア
        # ウェブセキュアポート
        - --entryPoints.websecure.address=:443
        # 証明書を自動申請するかどうか
        - --entrypoints.websecure.http.tls=true
        # 証明書申請メーカー
        - --entrypoints.websecure.http.tls.certresolver=ali
        #適用されたメインドメイン名
        - --entrypoints.websecure.http.tls.domains[0].main=wuxinkeoo.top
        # このレベルのドメイン名のすべてのドメイン名をスキャンします
        - --entrypoints.websecure.http.tls.domains[0].sans=*.wuxinkeoo.top
      #暗号化してみよう
        #ベンダーに応募する
        - --certificatesresolvers.ali.acme.dnschallenge.provider=alidns
        # 郵便
        - [email protected]
        # 証明書の保管場所を申請する
        - --certificatesresolvers.ali.acme.storage=/etc/acme/acme.json
    # 説明する
    ラベル:
        #traefikに管理を引き渡すかどうか 
        - "traefik.enable=true"
        #ルーティングエントリ
        - "traefik.http.routers.traefik.entrypoints=web、websecure"
        # ルーティングルール
        - "traefik.http.routers.traefik.rule=ホスト(`proxy.wuxinkeoo.top`)"
        # ルートポート
        - "traefik.http.services.traefik.loadbalancer.server.port=8080"

        3.1.7. .alidns.env ファイルを作成し、メーカーキーを入力します。

.alidns.env をタッチ
        

        3.1.8. キーと RAM ロール情報を .alidns.env に書き込む

ALICLOUD_ACCESS_KEY=LTAIxxxxxxxxxxxxxxxxxxx
ALICLOUD_SECRET_KEY=VMy3xxxxxxxxxxxxxxxxxxx
ALICLOUD_REGION_ID=ルート
  

        3.1.9. 開始

docker-compose up -d
    

        3.1.10. アクセス

    3.2. テンセントクラウド
    
        3.2.1. まず第一に、Tencent Cloud ドメイン名が必要であり、次にサーバーが必要です。どのプラットフォームで購入したかは関係ありません。ドメイン名は登録する必要があることに注意してください。」

        3.2.2. ドメイン名解決の追加 (Tencent はワイルドカード * の使用をサポートしていないため、指定のみ可能です)

        3.2.3. アクセスキーを作成します (すでに存在する場合は、以前のものを使用します)
    クイックアクセスアドレス: Login-Tencent Cloud
        3.2.4. docker-compose の作成
docker-compose.yml にタッチします
        3.2.5. ネットワークの作成
docker ネットワークがプロキシを作成する
        3.2.6. .tencentcloud.env の作成
タッチ.tencentcloud.env
        3.2.7. キーを .tencentcloud.env に書き込む
TENCENTCLOUD_SECRET_ID=AKIxxxxxxxxxxxxxxxx
TENCENTCLOUD_SECRET_KEY=rSpxxxxxxxxxxxxxxx
        3.2.8. docker-compose.yml ファイルの書き込み
バージョン: '3.8' 
# 通信網
ネットワーク: 
  プロキシ:
    外部: true
#データ量の定義
ボリューム: 
  アクメ:
サービス:
  # サービス名
  渋滞:
    # 鏡
    画像:traefik:v2.5.4
        # 通信網
    ネットワーク:
       - プロキシ
    #ポート
    ポート:
        - 「80:80」
        - 「443:443」
        - 「8080:8080」
    ボリューム:
        # タイムゾーン
        - /etc/タイムゾーン:/etc/タイムゾーン
        - /etc/localtime:/etc/localtime
        # Traefik が Docker イベントをリッスンできるようにする
        - /var/run/docker.sock:/var/run/docker.sock
        # 永続的な acme 証明書を生成する
        - アクメ:/etc/acme
    # キーの場所
    環境ファイル:
        - ./.tencentcloud.env
    指示:
        # APIのルーティング・フォワーディング機能を有効にするかどうか
        - --api.insecure=true
        # 基礎となるプロキシとは何ですか?
        - --providers.docker
        # dockerを使ったネットワーク
        - --providers.docker.network=プロキシ
        # docker を公開するかどうか
        - --providers.docker.exusedByDefault=false
      # ウェブ
        # ウェブポート
        - --entryPoints.web.address=:80
        # httpをリダイレクトするかどうか
        - --entrypoints.web.http.redirections.entrypoint.permanent=true
        # リダイレクトカテゴリ
        - --entrypoints.web.http.redirections.entrypoint.scheme=https
        # エントリをリダイレクトします
        - --entrypoints.web.http.redirections.entrypoint.to=websecure
      # ウェブセキュア
        # ウェブセキュアポート
        - --entryPoints.websecure.address=:443
        # 証明書を自動申請するかどうか
        - --entrypoints.websecure.http.tls=true
        # 証明書申請メーカー
        - --entrypoints.websecure.http.tls.certresolver=tencent
        #適用されたメインドメイン名
        - --entrypoints.websecure.http.tls.domains[0].main=wuxinke.com
        # このレベルのドメイン名のすべてのドメイン名をスキャンします
        - --entrypoints.websecure.http.tls.domains[0].sans=*.wuxinke.com
      #暗号化してみよう
        #ベンダーに応募する
        - --certificatesresolvers.ali.acme.dnschallenge.provider=tencentcloud
        # 郵便
        - [email protected]
        # 証明書の保管場所を申請する
        - --certificatesresolvers.ali.acme.storage=/etc/acme/acme.json
    # 説明する
    ラベル:
        # 管理のためにtraefikに引き渡すかどうか
        - "traefik.enable=true"
        #ルーティングエントリ
        - "traefik.http.routers.traefik.entrypoints=web、websecure"
        # ルーティングルール
        - "traefik.http.routers.traefik.rule=ホスト(`proxy.wuxinke.com`)"
        # ルートポート
        - "traefik.http.services.traefik.loadbalancer.server.port=8080"
    
        注: サーバー上でポート 8080 を開くことを忘れないでください。
        3.2.9. 開始
docker-compose up -d
        3.2.10. アクセステスト
    注: アクセスすると、HTTPS プロトコルが安全ではなく、まだ解決されていないことを示すメッセージが表示されます。

 

おすすめ

転載: blog.csdn.net/weixin_51689532/article/details/132547768