扩展 docker 图片
Extending docker image
我想从 docker-hub 扩展现有的 redis:6.0-alpine 镜像,并想在容器中添加我的配置文件。
为此我创建了这个docker文件
FROM redis:6.0-alpine
WORKDIR .
COPY redis.master.conf ./config/redis.conf
但是从该镜像构建容器时,指定位置没有任何复制。
设置:
- wsl2(ubuntu 18.04 发行版)
- windows 10
- docker-for-windows (v20.10.2)
有帮助吗?
自己测试了一下,复制没有问题。
您要在哪里查找文件?请注意此图像的入口目录不是 /
,而是 /data
,因此您的文件位于 /data/etc/redis.conf
这是因为 WORKDIR
在您的 dockerfile 中设置为 .
,这表示当前工作目录。如果你看官方dockerfile of redis:6.0-alpine,WORKDIR
设置为/data
。
因此,根据您的 dockerfile,您正在将 redis.master.conf
文件复制到 ./
,这意味着 /data
。请在 /data/etc/redis.conf
检查您的文件。我最后试了一下,可以确认这种行为。
如果您想在 /etc/redis.conf
处复制它,请删除 /etc
之前的 ./
。
我想从 docker-hub 扩展现有的 redis:6.0-alpine 镜像,并想在容器中添加我的配置文件。
为此我创建了这个docker文件
FROM redis:6.0-alpine
WORKDIR .
COPY redis.master.conf ./config/redis.conf
但是从该镜像构建容器时,指定位置没有任何复制。
设置:
- wsl2(ubuntu 18.04 发行版)
- windows 10
- docker-for-windows (v20.10.2)
有帮助吗?
自己测试了一下,复制没有问题。
您要在哪里查找文件?请注意此图像的入口目录不是 /
,而是 /data
,因此您的文件位于 /data/etc/redis.conf
这是因为 WORKDIR
在您的 dockerfile 中设置为 .
,这表示当前工作目录。如果你看官方dockerfile of redis:6.0-alpine,WORKDIR
设置为/data
。
因此,根据您的 dockerfile,您正在将 redis.master.conf
文件复制到 ./
,这意味着 /data
。请在 /data/etc/redis.conf
检查您的文件。我最后试了一下,可以确认这种行为。
如果您想在 /etc/redis.conf
处复制它,请删除 /etc
之前的 ./
。