Por uma questão de segurança do servidor, a porta nginx não é exposta diretamente. Agora o servidor usa a versão docker do nginx. Registre as etapas de uso. A instalação do docker não será mais descrita. Foi escrita antes
Dividido em 2 tipos aplicáveis à situação em que o servidor pode acessar a Internet e não pode acessar a Internet
Um arquivo sh e um dockerfile escritos aqui são usados para extrair diretamente a imagem nginx do armazém online após o início do docker
conteúdo do arquivo 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"
Entre eles, 443 e 8889 são portas audíveis após o início do nginx
conteúdo do arquivo 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;"]
Os servidores que podem acessar a Internet podem executar diretamente o arquivo de compilação para extrair automaticamente o nginx do armazém.
Os servidores que não podem acessar a Internet precisam importar a imagem nginx com antecedência. O comando de importação: sudo docker load < nginx_latest.tar
etapas de geração de imagem têm foi descrito antes.