前提条件 1. ローカルコンピュータとサーバーにDockerがインストールされています。ダウンロード方法はGoogleで検索してください。 2. Docker Hub にアカウントをお持ちの場合は、https://hub.docker.com/ で登録してください。 3. Dockerに精通し、Dockerfileのいくつかの指示を理解する必要があります。 Dockerfileを使用してイメージを作成する このマシンにwebというプロジェクトがある場合 Webルートディレクトリに新しいDockerfileを作成し、次の内容を記述します。 nginx:1.13.6-alpineから ラベル メンテナー="lilywang <[email protected]>" ARG TZ="アジア/上海" ENV TZ ${TZ} apkアップグレード--update \を実行します && apk に bash tzdata を追加 \ && ln -sf /usr/share/zoneinfo/${TZ} /etc/localtime \ && echo ${TZ} > /etc/timezone \ && rm -rf /var/cache/apk/* /usr/share/nginx/html をコピーする CMD ["nginx", "-g", "デーモンオフ;"] 現時点での Web 内のファイル構造は次のとおりです。 。 |____Dockerファイル |____dist // プロジェクト用にパッケージ化されたファイル| |____index.html 次に、bashでWebディレクトリに入ります CDウェブ lilywang711 をビルドします。 印刷された情報に次の内容が表示された場合、イメージが正常に構築されたことを意味します。
次に、コマンド デプロイするプロジェクトが複数ある場合は、上記の手順を繰り返して、プロジェクトの数だけイメージをビルドします。 サーバーの展開 ssh経由でサーバーにログインし、現在のユーザーディレクトリ(私のディレクトリはルート)に新しいnginxフォルダを作成し、その中にnginx.confを作成します。 ユーザー nginx; ワーカープロセス 2; error_log /var/log/nginx/error.log 警告; pid /var/run/nginx.pid; イベント { epoll を使用します。 ワーカー接続数 2048; } http { /etc/nginx/mime.types を含めます。 # /etc/nginx/conf.d/*.conf を含めます。 ルート /usr/share/nginx/html; インデックス index.html index.htm; サーバー{ 聞く 80; server_name a.yourdomain.cn; 位置 / { } } サーバー{ 聞く 80; サーバー名 b.yourdomain.cn; 位置 / { proxy_pass http://your_vps_ip:81; } } サーバー{ 聞く 80; server_name ローカルホスト; 位置 / { } } } 次のステップ Dockerを起動する 作成してアップロードした2つの画像をプルします
コンテナを起動するには次のコマンドを入力します docker run -itd --name web -p 80:80 -v /root/nginx/nginx.conf:/etc/nginx/nginx.conf lilywang711/web // -i はコンテナを対話モードで実行し、-t はコンテナに疑似端末を割り当て、-d はコンテナをバックグラウンドで実行します。-itd を直接記述できます。 // --name はコンテナに識別しやすいように web という名前を付けます // -p はポートをバインドします ローカルポート 80: コンテナポート 80 // -v はボリュームを宣言します。これは、コンテナ内の /etc/nginx/nginx.conf をホスト内の /root/nginx/nginx.conf にマウントすることを意味します。将来 nginx を構成するには、/root/nginx/nginx.conf を変更するだけで済みます。 別の lilywang711/web1 イメージでも同様です。ポートと名前を変更するだけです。 この時点で、 プロジェクトのDocker化とnginxへのデプロイが完了しました 効果を確認するには、ブラウザに http://a.yourdomain.cn と http://b.yourdomain.cn と入力します。これらは、それぞれローカル コンピューターの web プロジェクトと web1 プロジェクトに対応します。 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: Vueルーティングコンポーネントでパラメータを渡す8つの方法の詳細な説明
>>: Windows10にMySQL5.6.35データベースを2つインストールする
開発には常にデータが必要です。サーバーとしての Linux では、テスト データを格納するためのデー...
前回の記事では、入力完了の簡単な検出を実現しましたが、今回はさらに一歩進んで、入力が完了した後に次の...
目次URL モジュール1. 解析メソッド2. フォーマット方法3. 解決方法イベントモジュール(イベ...
この記事は主に、以前のインストール方法を使用して MySQL 5.7.14 をインストールするときに...
サーバーの配置数日間無料で使用できるクラウドサーバー(Alibaba Cloud、Huawei Cl...
この記事はMySQL 5.7.23 winx64のインストールチュートリアルを記録します。具体的な内...
最近、業務上のボタンの増加により、ページレイアウトにボタンが多すぎて、ページが美しくなく、ユーザーエ...
毎日の統計情報を取得するプロジェクトを実行する際、プロジェクト ログを分析する必要があります。要件の...
この記事では、centos7 環境でソース コードから mysql5.7.16 をインストールする方...
この記事では、例を使用して、MySQL トリガーの概要、トリガーの作成方法、およびトリガーの使用上の...
目次序文: 1. 役割の紹介2. 役割に関連する操作要約:序文:前回の記事では、MySQLの権限管理...
WindowsでMySQLデータベースのマスターとスレーブを構成する詳細なプロセスは次のとおりです。...
更新: MySQL の公式 Web サイトにアクセスして MySQL インストーラーをインストールし...
背景: Linux サーバーのファイルのアップロードとダウンロード。 XShell+Xftp インス...
2 列レイアウトはプロジェクトでよく使用されます。この効果を実現する方法はたくさんあります。 しかし...