linux - 在 Docker 上运行 Nginx

标签 linux ubuntu nginx 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 并从网络浏览器连接到“hello world”页面。

但我无法让 Nginx 作为守护进程运行(无需从容器的 shell 手动启动它)。我试过 docker run -d -p 80:80 mytestimage,但是 docker ps 是空的。我究竟做错了什么?我一直在看 official Nginx Dockerfile ,但我不确定我需要将哪些部分添加到我自己的 Dockerfile 中。

最佳答案

需要在Dockerfile中添加以下内容

CMD ["nginx", "-g", "守护进程关闭;"]

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

上面8980端口只是一个例子,这个是从Dockerfile配置的

关于linux - 在 Docker 上运行 Nginx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32661246/

相关文章:

linux - 如何在不触及 CFLAGS 环境变量的情况下在 64 位 linux 机器上编译 32 位二进制文​​件

linux - 如何根据第一个字段合并csv文件中的记录?

python - 奇怪的 Python Cron 作业问题

ubuntu - 无法连接到我的虚拟机上托管的 cassandra

ruby-on-rails-3 - 在 Linode 上托管 Rails 应用程序

linux - 通过寄存器将参数传递给 execve(2)

c++ - 为什么 GCC 交叉编译器不能找到所有的库?

ubuntu - Laravel 5 中的调度程序在我的本地系统中使用 crontab 不工作

nginx - 如何在 Nginx +1.17 中设置 Content-Security-Policy Report-To header ?

wordpress - 反向代理到 WordPress 容器