サーバーのセキュリティのため、nginx ポートは直接公開されません。現在、サーバーは nginx の docker バージョンを使用しています。使用手順を記録してください。docker のインストールについてはこれ以上説明しません。これは以前に書かれたものです。
サーバーがインターネットにアクセスできる場合とアクセスできない場合の 2 つのタイプに分けられます。
ここに書いたshファイルとdockerfileは、docker起動後にオンラインウェアハウスのnginxイメージを直接pullするために使用されます。
build_and_run.sh ファイルの内容:
#!/bin/sh
echo "准备发布"
echo "\n"
echo "停掉旧容器..."
docker stop zw-nginx
echo "完成\n"
echo "删除旧容器..."
docker rm zw-nginx
echo "完成\n"
echo "删除旧镜像..."
docker image rm zw-nginx:latest
echo "完成\n"
echo "构建新镜像..."
docker build --rm -t zw-nginx:latest . -f nginx.dockerfile
echo "完成\n"
echo "启动新版本..."
docker run -d \
--name zw-nginx \
-p 443:443 \
-p 8889:8889 \
-v /home/www:/home/www \
-v /home/nginx/conf.d:/etc/nginx/conf.d \
--restart=always zw-nginx:latest
echo "完成\n"
このうち、443 と 8889 は nginx 起動後にリッスン可能なポートです
nginx.dockerfile ファイルの内容:
from nginx:latest
MAINTAINER yushoji@gmail.com
ENV TZ=Asia/Shanghai \
DIR=/etc/nginx
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime \
&& echo $TZ > /etc/timezone
WORKDIR $DIR
CMD ["nginx", "-g", "daemon off;"]
インターネットにアクセスできるサーバーは、ビルド ファイルを直接実行してウェアハウスから nginx を自動的にプルできます。インターネットに
アクセスできないサーバーは、事前に nginx イメージをインポートする必要があります。インポート コマンド: sudo dockerload < nginx_latest.tar
イメージ生成手順は次のとおりです。前に説明しました。