将docker的公开端口与默认的nginx端口链接起来

时间:2016-08-29 11:02:40

标签: nginx docker

我有这个Dockerfile:

FROM alpine:3.4
RUN apk update
RUN apk add nginx 
RUN apk update
RUN cp index.html /var/lib/nginx/html/
EXPOSE 8080    

现在,如何在localhost上访问文件index.html on let port 9000?我很困惑。请问我是否不清楚。只是一个解决方案的大纲非常感谢。

1 个答案:

答案 0 :(得分:1)

主要的应用程序是nginx,所以从nginx Dockerfile开始,只需将index.html复制到它。

假设您的本地目录(Dockerfile所在的位置)有index.html

FROM nginx:1.10-alpine
COPY ./index.html /var/lib/nginx/html

使用

构建
docker build -t mywebserver:latest .

然后您的docker-compose.yml文件可能如下所示:

version: "2"
services:
  mywebserver:
    image: mywebserver:latest
    ports:
      - "8080:80"
    command: ["nginx", "-g", "daemon off;"]

使用

构建容器
docker-compose up -d

也可以跳过command,但在服务定义中包含实际命令是一种很好的做法。