0
開始這裏是我的Dockerfile:nginx的內部沒有泊塢
FROM ubuntu:14.04.4
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update
RUN apt-get install -y software-properties-common
RUN add-apt-repository ppa:nginx/stable
RUN apt-get update
RUN apt-get upgrade -y
RUN apt-get install -y nginx
ADD configurations/nginx.conf /etc/nginx/nginx.conf
ADD configurations/app.conf /etc/nginx/sites-available/default.conf
RUN ln -sf /etc/nginx/sites-available/default.conf /etc/nginx/sites-enabled/default.conf
RUN chown -Rf www-data.www-data /var/www/
ADD scripts/start.sh /start.sh
RUN chmod 755 /start.sh
EXPOSE 443
EXPOSE 80
CMD ["/bin/bash", "/start.sh"]
的start.sh腳本:
cat scripts/start.sh
service nginx start
echo "test" > /tmp/test
當我登錄到容器:
docker exec --interactive --tty my_container bash
既不測試文件存在,也不運行nginx。 nginx日誌中沒有錯誤。
這可能是該碼頭工人希望您的應用程序開始運行並且永遠不會像在前臺進程中那樣返回。如果你的啓動腳本返回,那麼Docker退出。所以試試上面鏈接的解決方案。 – spokeadoke
您可以像使用示例一樣使用官方圖像https://github.com/nginxinc/docker-nginx/blob/19799fa644461ed6c5ea07c0bc0ea0cc277c2d77/mainline/jessie/Dockerfile – ashatrov
當您使用'exec'登錄到您的容器並嘗試運行時會發生什麼?/bin/bash/start.sh'。它會給你在嘗試在入口處運行start.sh時可能發生的確切故障。 – Rahul