首页 > 解决方案 > Dockerfile 复制文件

问题描述

我正在编写一个 Dockerfile 来创建一个具有基本 http 身份验证的 nginx 映像。我需要复制我的本地 nginx.conf 文件和一个包含登录信息 (htpasswd) 的文件,并将其写入我的 Dockerfile,但它似乎不起作用。当我查看容器中的 nginx.conf 时,它仍然是默认设置,并且网页上不存在身份验证功能。帮助?

FROM nginx:latest

ADD ./gilbard /usr/share/nginx/html

COPY ./nginx.conf /etc/nginx/nginx.conf
COPY ./htpasswd /etc/nginx/conf.d/.htpasswd

# Expose port
EXPOSE 80

标签: dockernginx

解决方案


你的方法是正确的。

如果COPY工作目录中不存在文件,则构建将生成错误。

您的构建|运行命令可能有错误,请将这些添加到您的问题中。

我能够重现您的问题,并且我的问题nginx.conf被正确复制。

more ./nginx.conf
Hello Freddie

docker build --tag=58188265 --file=./Dockerfile .

docker run --interactive --tty 58188265 /bin/sh -c "more /etc/nginx/nginx.conf"
Hello Freddie

推荐阅读