Linux サーバーは nginx の docker バージョンをデプロイします (nginx コンテナー化)

サーバーのセキュリティのため、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
イメージ生成手順は次のとおりです。前に説明しました。

おすすめ

転載: blog.csdn.net/weixin_42857718/article/details/132037096