gpt4 book ai didi

Docker Compose 与 shell 环境变量错误

转载 作者:行者123 更新时间:2023-12-02 19:27:01 24 4
gpt4 key购买 nike

我正在为应用程序运行 Docker 部署。我正在安装一个卷,我希望外壳环境变量提供外部路径。我收到此错误:

ERROR: for video-server Cannot create container for service video-server: invalid volume specification: '46b9d2fb3b9b13c9404d31bae571dac3f633122393c4a77f2561afb8aed5c06e:=/opt/videos:rw': invalid mount config for type "volume": invalid mount path: '=/opt/videos' mount path must be absolute


我的 docker-compose 配置是这样的:
video-server:
build:
context: .
dockerfile: video-server_Dockerfile
container_name: video-server
networks:
- videoManagerNetwork
environment:
- VIDEO_MANAGER_DIR=/opt/videos
volumes:
- ${VIDEO_MANAGER_DIR_PROD}=/opt/videos
ports:
- 9000:8080
通过执行这两个命令,我可以看到 VIDEO_MANAGER_DIR_PROD 环境变量的正确值,所以我知道它在我的 shell 上:
echo $VIDEO_MANAGER_DIR_PROD
sudo echo $VIDEO_MANAGER_DIR_PROD
奇怪的是,如果我彻底清除我的 docker 配置( sudo docker system prune --all --volumes),然后第一次运行 docker-compose( sudo docker-compose up -d),一切正常。
但是,如果我关闭容器,重新构建它,然后尝试再次运行相同的命令 ( sudo docker-compose up -d),则会收到上面显示的错误。

最佳答案

您不能像变量一样分配源卷,因此您将使用 :对于这个任务。

关于 Docker Compose 的文档 volumes : docs.docker.com

video-server:
build:
context: .
dockerfile: video-server_Dockerfile
container_name: video-server
networks:
- videoManagerNetwork
environment:
- VIDEO_MANAGER_DIR: /opt/videos
volumes:
- ${VIDEO_MANAGER_DIR_PROD}:/opt/videos
ports:
- 9000:8080

关于Docker Compose 与 shell 环境变量错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55386312/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com