Docker-撰写卷没有按预期工作
Docker-compose volume doesn't work as expected
我正在尝试通过 docker-composer 挂载一个卷,但是在 运行 docker-compose up
之后目录是空的。
Dockerfile
FROM alpine:3.8
COPY test.txt ./app/
docker-compose.yml
version: "3.7"
services:
test:
image: myrep/image:latest
volumes:
- "./app/:/app/"
我的程序:
- 在客户端构建 docker 映像 (
docker build .
)
- 将 docker 图像推送到我的注册表 (
docker tag xxx myrep/image && docker push myrep/image
)
- 在服务器上我拉取镜像(
docker pull myrep/image
)
- 运行 docker-撰写(
docker-compose up
)
- 然后当我查看应用程序文件夹时,没有 test.txt 文件
知道我做错了什么吗?
可能您应该尝试在 test.txt 之前添加 ./ 因为它不会将文件复制到根目录
希望它对你有用
FROM alpine:3.8
COPY ./test.txt ./app/
您将文件复制到映像中,但是当您启动容器时,您在挂载时用您的目录覆盖了它。
如果您希望文件在那里,请不要装载该卷。
您可以通过 运行 没有体积的图像并执行以下操作来验证这一点:
docker-compose exec test ls -l /app
我正在尝试通过 docker-composer 挂载一个卷,但是在 运行 docker-compose up
之后目录是空的。
Dockerfile
FROM alpine:3.8
COPY test.txt ./app/
docker-compose.yml
version: "3.7"
services:
test:
image: myrep/image:latest
volumes:
- "./app/:/app/"
我的程序:
- 在客户端构建 docker 映像 (
docker build .
) - 将 docker 图像推送到我的注册表 (
docker tag xxx myrep/image && docker push myrep/image
) - 在服务器上我拉取镜像(
docker pull myrep/image
) - 运行 docker-撰写(
docker-compose up
) - 然后当我查看应用程序文件夹时,没有 test.txt 文件
知道我做错了什么吗?
可能您应该尝试在 test.txt 之前添加 ./ 因为它不会将文件复制到根目录 希望它对你有用
FROM alpine:3.8
COPY ./test.txt ./app/
您将文件复制到映像中,但是当您启动容器时,您在挂载时用您的目录覆盖了它。
如果您希望文件在那里,请不要装载该卷。
您可以通过 运行 没有体积的图像并执行以下操作来验证这一点:
docker-compose exec test ls -l /app