【发布时间】:2020-04-29 17:13:04
【问题描述】:
我有一个使用 ASP.NET Core 3.1 框架编写的应用程序。我正在尝试创建一个 docker 映像以允许我在 Linux 系统上运行该应用程序。
我的应用程序允许用户将文件上传到服务器,因此它将上传的文件写入位于我的项目根文件夹中的名为“Storage”的文件夹中。
我想在 Linux 机器上创建一个永久存储,以便在删除映像时不会破坏它。
我创建了以下 docker-compose.yml 文件,其中包含有关如何创建卷的说明,如下所示
version: '3.4'
services:
myproject:
image: ${DOCKER_REGISTRY-}myproject
build:
context: .
dockerfile: MyProject/Dockerfile
environment:
- ASPNETCORE_ENVIRONMENT=Development
- ASPNETCORE_URLS=https://localhost;http://localhost
- ASPNETCORE_HTTPS_PORT=44344
ports:
- 51736:80
- 44344:443
volumes:
- photos:/app/Storage
volumes:
photos:
据我了解,位于myproject 服务下的volumes 将名为photos 的卷映射到/app/Storage。
但是,我不是在服务器上创建卷的命令,因此它不会被删除。
如何正确创建卷并指向图像以使用它?
【问题讨论】:
标签: docker docker-compose docker-volume docker-image