我按照Digital Ocean's "How To Install Nginx on Ubuntu 14.04 LTS"上的说明进行操作,该说明指出Nginx应该在安装后立即运行,但是以下Dockerfile:
FROM ubuntu:14.04.2
RUN apt-get update -y
RUN apt-get -y install curl
RUN apt-get -y install nginx
RUN curl http://127.0.0.1 | grep "Welcome to nginx!"
给了我这个错误:
curl: (7) Failed to connect to 127.0.0.1 port 80: Connection refused
重现这一点:
/whatever/path/Dockerfile
这将使用Ubuntu构建docker容器,安装Nginx,然后尝试连接到127.0.0.1:80返回Nginx欢迎页面。这就是“连接被拒绝”错误发生的地方。
我的问题是:如何在我的容器中调用“curl http://127.0.0.1并获得回复?”
我的项目中的这个问题是https://github.com/dcycleproject/dcyclebox/issues/1
答案 0 :(得分:1)
关于数字海洋谈论操作系统的说明,这些操作系统没有在docker容器中运行(他们不应该)。构建映像时,只需安装必要的软件。然后你应该根据这个图像运行容器 - 通常只有一个进程在容器中运行。查看官方nginx图像,例如 - https://github.com/dockerfile/nginx/blob/master/Dockerfile
在不同的RUN命令中运行apt-get update和apt-get install也是一种不好的做法 - https://docs.docker.com/articles/dockerfile_best-practices/#run
答案 1 :(得分:1)
不要忘记先nginx
开始:
RUN service nginx start && curl http://127.0.0.1 | grep "Welcome to nginx!"