この記事から学ぶ:https://juejin.im/post/5bee5ddde51d457b8a33938cの
プロジェクト環境はUbuntuの下で、ルートディレクトリにあることを忘れないでください、そうでない場合は、インストールがVUEが文句を言うだろう
npm install -g vue-cli
vue init webpack demo01
cd demo01
npm run dev
プロファイリングdockerfile詳細な
ベース画像ノード、及び取付nginxの。
ノードから:スリム8
RUNは、apt-getの更新プログラムをインストール&& APT-GET -Y nginxのは、
鏡の中のディレクトリは/ usr / src /アプリを作成して、ディレクトリに入ります。一時的にアイテムコードを格納するために使用されます。
FROM node:8-slim
RUN apt-get update && apt-get install -y nginx
鏡の中のディレクトリへのディレクトリは/ usr / src /アプリを作成します。一時的にアイテムコードを格納するために使用されます。
WORKDIR /usr/src/app
ダウンロードノード依存。
# 拷贝三个依赖相关的json文件到 "/usr/src/app" 目录下
COPY ["package.json", "package-lock.json*", "npm-shrinkwrap.json*", "./"]
# 下载依赖
RUN npm install
USR / SRC / appディレクトリの下に/プロジェクトにすべてのファイルをコピーします。(これは、依存関係をダウンロードする代わりに、その後、ミラーにプロジェクト内のすべてのファイルをコピーします。)
COPY . .
パッケージのコマンドを実行します。
RUN npm run build
nginxのは、標準出力と標準エラー出力へのソフトの接続をログに記録します。ドッキングウィンドウのログにより、このビューのnginxのログ。
RUN ln -sf /dev/stdout /var/log/nginx/access.log \
&& ln -sf /dev/stderr /var/log/nginx/error.log
EXPOSE 80
htmlディレクトリのnginxの次のパッケージに移動した後にファイル。削除され、プロジェクトのソースファイル(使用されていない、パッケージにのみ静的ファイル)。
RUN cp -r dist/* /var/www/html \
&& rm -rf /user/src/app
コンフィギュレーション・プロジェクトは、コマンドを起動します。-g「オフデーモン;」設定パラメータが原因となりますnginxのフォアグラウンド、バックグラウンドで実行されている場合は、ドッキングウィンドウの容器は終了します。
CMD ["nginx","-g","daemon off;"]
展開
システムの展開にアイテムを移動する(たとえばLinuxへ)、およびプロジェクトのルートディレクトリに入ります。
ドッキングウィンドウミラーにパッケージ化プロジェクト。名前のデモ、バージョン1.0のミラーリング
docker build -t demo:1.0 .
-t <イメージ名>:<バージョン>
コンテナを作成し、実行します。ここでnginxのプロキシプロキシがあります。直接オープンアクセスに<ドメイン名>。
docker run -d -p 80 -e VIRTUAL_HOST=<域名> demo:1.0
ここでは、ポート番号に注意してください、そうでなければ、エラーになります
# 可以开多个容器。nginx-proxy会自动配置负载均衡
docker run -d -p 80 -e VIRTUAL_HOST=<域名> demo:1.0