Docker 存储 jpg 的体积使用情况
Docker volume usage for storing jpg
所以,我构建了一个小应用程序来测试 docker 的工作原理,这是一个小的 laravel 应用程序,可以使用其个人资料图像注册用户。一切正常,但个人资料图片未显示。
我认为这是因为 docker 的工作方式(短暂的、不变的等),所以我阅读了一些关于卷的内容,但不幸的是我无法让它工作。
图像存储在 public 文件夹(laravel 结构)中名为 uploads 的文件夹中。
在我的 docker-compose.yml 文件中,我定义了以下卷:
volumes:
- mysql-data:/var/lib/mysql
所以我试着添加我需要的那个,像这样:
volumes:
- mysql-data:/var/lib/mysql
- user-images:/app/public/uploads
volumes:
mysql-data:
user-images:
我也尝试过绑定挂载,但我认为这只能使用 docker 容器 运行(不太确定)。
知道如何解决这个问题吗?
谢谢
user-images:/app/public/uploads
将是 命名的 卷,在 /var/lib/docker/volumes
中定义
如果要使用 a bind mount,即将主机文件夹作为卷安装,请使用路径:
volumes:
- "./user-images:/app/public/uploads"
另请参阅“Laravel + Docker" and its part 2 以获得更完整的示例。
我假设您的图像位于 dockerfile/docker-compose 的目录树中。如果是这种情况,您实际上不想使用命名卷,因为它们存储在您系统的其他地方,并且需要您将图像移动到该位置。 (参见下图中的 "Mountpoint")
您可能想要使用的是 --mount
标志,它在您的撰写文件中看起来像这样...
volumes:
- type: bind
source: ./path/to/file
target: /app/public/uploads
有关详细信息,请参阅 docker volumes 码头。我写了我更喜欢的长版本,因为它更明确,但排序版本做同样的事情。您应该知道,如果它们重叠,使用绑定卷将覆盖您可能添加到实际图像中的任何文件。提示当您有热重载开发服务器时,这很方便,因为您可以在本地更改文件,它们在容器上下文中是 运行。
所以,我构建了一个小应用程序来测试 docker 的工作原理,这是一个小的 laravel 应用程序,可以使用其个人资料图像注册用户。一切正常,但个人资料图片未显示。
我认为这是因为 docker 的工作方式(短暂的、不变的等),所以我阅读了一些关于卷的内容,但不幸的是我无法让它工作。
图像存储在 public 文件夹(laravel 结构)中名为 uploads 的文件夹中。
在我的 docker-compose.yml 文件中,我定义了以下卷:
volumes:
- mysql-data:/var/lib/mysql
所以我试着添加我需要的那个,像这样:
volumes:
- mysql-data:/var/lib/mysql
- user-images:/app/public/uploads
volumes:
mysql-data:
user-images:
我也尝试过绑定挂载,但我认为这只能使用 docker 容器 运行(不太确定)。
知道如何解决这个问题吗?
谢谢
user-images:/app/public/uploads
将是 命名的 卷,在 /var/lib/docker/volumes
如果要使用 a bind mount,即将主机文件夹作为卷安装,请使用路径:
volumes:
- "./user-images:/app/public/uploads"
另请参阅“Laravel + Docker" and its part 2 以获得更完整的示例。
我假设您的图像位于 dockerfile/docker-compose 的目录树中。如果是这种情况,您实际上不想使用命名卷,因为它们存储在您系统的其他地方,并且需要您将图像移动到该位置。 (参见下图中的 "Mountpoint")
您可能想要使用的是 --mount
标志,它在您的撰写文件中看起来像这样...
volumes:
- type: bind
source: ./path/to/file
target: /app/public/uploads
有关详细信息,请参阅 docker volumes 码头。我写了我更喜欢的长版本,因为它更明确,但排序版本做同样的事情。您应该知道,如果它们重叠,使用绑定卷将覆盖您可能添加到实际图像中的任何文件。提示当您有热重载开发服务器时,这很方便,因为您可以在本地更改文件,它们在容器上下文中是 运行。