我正在尝试使基于Ubuntu的Docker容器生态设置脚本在Windows中工作,因为新同事正在使用Windows。
所以我有这个脚本,在我的Ubuntu开发环境中就像一个符咒一样工作:
docker stop my-db
docker rm my-db
docker volume rm my-vol
docker volume create my-vol
docker run -d -p 5432:5432 --name my-db -e POSTGRES_PASSWORD=SystemAdmin42 --mount type=volume,source=my-vol,target=/var/lib/postgresql/data postgres &&
dotnet ef database update -p src/My.Data/My.Data.csproj -s src/My.WebApi/My.WebApi.csproj
但是,它在Windows环境中失败,并显示以下消息:
C:\ Program Files \ Docker \ Docker \ Resources \ bin \ docker.exe:错误 来自守护程序的响应:类型“ volume”的无效安装配置:无效 装载路径:“ C:/ Program Files / Git / var / lib / postgresql / data”的装载路径 必须是绝对的。参见'C:\ Program Files \ Docker \ Docker \ Resources \ bin \ docker.exe运行--help'。
我不愿意切换到“ volume”语法,因为我已经使用“ mount”,显然建议使用“ mount”:https://docs.docker.com/storage/bind-mounts/