簡體   English   中英

在 Docker 上運行 Nginx

[英]Running Nginx on Docker

我正在學習如何從 Dockerfiles 構建 Docker 圖像。 這是我目前的 Dockerfile:

FROM ubuntu:14.04
RUN apt-get update && apt-get install -y nginx
CMD ["/usr/sbin/nginx"]

我可以構建這個鏡像,運行它,然后使用docker run -t -i -p 80:80 mytestimage /bin/bash/連接到容器。 然后,我可以運行nginx並從 web 瀏覽器連接到“hello world”頁面。

但我無法讓 Nginx 作為守護進程運行(無需從容器的外殼手動啟動它)。 我試過docker run -d -p 80:80 mytestimage ,但docker ps是空的。 我究竟做錯了什么? 我一直在看官方的 Nginx Dockerfile ,但我不確定我需要將哪些部分添加到我自己的 Dockerfile 中。

您需要在 Dockerfile 中添加以下內容

CMD ["nginx", "-g", "守護進程關閉;"]

並且可以使用命令運行 docker 容器: docker run -d -p 8980:80 test-nginx

以上 8980 端口只是一個例子,這是從 Dockerfile 配置的

問題是 nginx 不在前台運行,因此每次您的容器執行CMD指令時,它都會返回,然后容器退出。

您需要將以下內容添加到您的/etc/nginx/nginx.conf頂部

daemon off;

然后你可以像這樣運行你的容器:

docker run -ti -p 80:80 mytestimage

您必須在啟動時執行 nginx。 這是你如何做到的。 在 dockerFile 中添加 CMD ["nginx", "-g", "daemon off;"]。

完整指南: 如何設置 PHP 8、NGINX 和 php-fpm docker

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM