gpt4 book ai didi

bash - docker容器nginx启动但一直挂起

转载 作者:行者123 更新时间:2023-12-02 19:28:35 24 4
gpt4 key购买 nike

我的dockerfile:

FROM AWS_ECR_IMAGE

RUN apt-get update && apt-get install -y \
cron \
python-dev \
git \
zlib1g-dev \
libffi-dev \
libssl-dev \
autotools-dev \
automake \
libbz2-dev \
libaio-dev \
libsasl2-dev \
python-pip
RUN pip install boto boto3 awscli

# Install Nginx.
RUN \
add-apt-repository -y ppa:nginx/stable && \
apt-get update && \
apt-get install -y nginx && \
rm -rf /var/lib/apt/lists/* && \
echo "\ndaemon off;" >> /etc/nginx/nginx.conf && \
chown -R www-data:www-data /var/lib/nginx

# Define mountable directories.
VOLUME ["/etc/nginx/sites-enabled", "/etc/nginx/certs", "/etc/nginx/conf.d", "/var/log/nginx", "/var/www/html"]

# Define working directory.
WORKDIR /etc/nginx

# Define default command.
CMD ["nginx"]

COPY nginx_conf /etc/nginx/sites-available/default

# Start service, replace server name, update web ui
COPY main.sh /opt/annotation-pipeline-docs/main.sh
RUN chmod 0755 /opt/annotation-pipeline-docs/main.sh
ENTRYPOINT [ "sh", "-c", "/opt/annotation-pipeline-docs/main.sh" ]

# Expose ports.
EXPOSE 80

我的入口点bash文件(容器运行时,我需要首先更新服务器名称)是:
#!/bin/bash -e
/usr/local/bin/aws s3 sync s3://${S3_Bucket}/docs/${ENVIRONMENT}/HEAD/ /var/www/html/

if [ "$ENVIRONMENT" == "prod" ]
then
sed -i.bak "s/REPLACE_ME/example.com/g" /etc/nginx/sites-available/default
else
sed -i.bak "s/REPLACE_ME/example-$ENVIRONMENT.com/g" /etc/nginx/sites-available/default
fi

nginx

while true; do
sleep 60
echo "s3 sync again:"
/usr/local/bin/aws s3 sync s3://${S3_Bucket}/docs/${ENVIRONMENT}/HEAD/ /var/www/html/
done

问题是什么时候
nginx

运行,它将永远卡在终端上:
enter image description here

而while循环将永远不会被调用。有谁知道为什么挂以及如何解决它?请帮忙,谢谢。

最佳答案

我的问题的原因是等待流量,直到Nginx开始释放bash之前,while循环永远不会被调用。但是,Nginx将在前台运行,而不会释放焦点。

我尝试的解决方案不是让Nginx作为前台服务运行,而是将其更改为在后台运行。由于这是我的容器中唯一的服务,因此应该没有问题。

更改的代码只是在我的dockerfile中的行下面删除了:

echo "\ndaemon off;" >> /etc/nginx/nginx.conf

这将使Nginx成为前台服务

关于bash - docker容器nginx启动但一直挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53825070/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com