docker - 运行owncloud docker容器时无法正确设置音量值
问题描述
我按照本指南在我的 VPS 上安装 owncloud 服务器,它可以工作。但是,当我尝试将文件卷挂载到主机服务器时出现问题。下面是docker-compose.yml
我使用的文件。/mnt/data
如果我直接使用 yml 文件运行 docker 映像,即使我/mnt/data
手动创建,我的 VPS目录下也找不到任何 owncloud 数据。
version: '2.1'
volumes:
files:
driver: local
mysql:
driver: local
backup:
driver: local
redis:
driver: local
services:
owncloud:
image: owncloud/server:${OWNCLOUD_VERSION}
restart: always
ports:
- ${HTTPS_PORT}:443
- ${HTTP_PORT}:80
depends_on:
- db
- redis
environment:
- OWNCLOUD_DOMAIN=${OWNCLOUD_DOMAIN}
- OWNCLOUD_DB_TYPE=mysql
- OWNCLOUD_DB_NAME=owncloud
- OWNCLOUD_DB_USERNAME=owncloud
- OWNCLOUD_DB_PASSWORD=owncloud
- OWNCLOUD_DB_HOST=db
- OWNCLOUD_ADMIN_USERNAME=${ADMIN_USERNAME}
- OWNCLOUD_ADMIN_PASSWORD=${ADMIN_PASSWORD}
- OWNCLOUD_UTF8MB4_ENABLED=true
- OWNCLOUD_REDIS_ENABLED=true
- OWNCLOUD_REDIS_HOST=redis
healthcheck:
test: ["CMD", "/usr/bin/healthcheck"]
interval: 30s
timeout: 10s
retries: 5
volumes:
- files:/mnt/data
db:
image: webhippie/mariadb:latest
restart: always
environment:
- MARIADB_ROOT_PASSWORD=owncloud
- MARIADB_USERNAME=owncloud
- MARIADB_PASSWORD=owncloud
- MARIADB_DATABASE=owncloud
- MARIADB_MAX_ALLOWED_PACKET=128M
- MARIADB_INNODB_LOG_FILE_SIZE=64M
- MARIADB_INNODB_LARGE_PREFIX=ON
- MARIADB_INNODB_FILE_FORMAT=Barracuda
healthcheck:
test: ["CMD", "/usr/bin/healthcheck"]
interval: 30s
timeout: 10s
retries: 5
volumes:
- mysql:/var/lib/mysql
- backup:/var/lib/backup
redis:
image: webhippie/redis:latest
restart: always
environment:
- REDIS_DATABASES=1
healthcheck:
test: ["CMD", "/usr/bin/healthcheck"]
interval: 30s
timeout: 10s
retries: 5
volumes:
- redis:/var/lib/redis
所以我尝试将 line 修改files:/mnt/data
为files:/mnt/data:/mnt/data
,然后它提示我出现以下错误。
ERROR: for ownclouddockerserver_owncloud_1 Cannot create container for service owncloud: invalid bind mount spec "ownclouddockerserver_files:/mnt/data:/mnt/data": invalid mode: /mnt/data
ERROR: for owncloud Cannot create container for service owncloud: invalid bind mount spec "ownclouddockerserver_files:/mnt/data:/mnt/data": invalid mode: /mnt/data
谁能帮我找出将外部目录安装到容器的正确方法?非常感激。
解决方案
该/mnt/data
目录仅存在于您的 docker 容器中。它被映射到名为files的生成(虚拟)驱动器。
为了将/mnt/data
目录映射到本地目录,请使用:
/my/local/directory:/mnt/data
推荐阅读
- cordova - Uncaught TypeError: Object(...) is not a function for Cordova plugin reference
- reactjs - React Formik 表单:允许用户选择 p 和 h 标签的文本区域
- r - 检索从向量中的起始元素添加固定数字后出现的元素
- ruby - 如何创建一个 .each 循环以根据用户输入从哈希中获取键和值?
- kubernetes - 创建和删除 Pod 的步骤
- angular - 离子类型 4 和 Angular 上不存在属性“onDidDismiss”
- ios - 呈现 App Store 产品视图控制器变得不可逆转
- javascript - 下拉选择加载图像,另一个下拉菜单加载另一列上的信息
- python - 使用 python xarray 将 netCDF 文件连接为数据集时出现“InvalidIndexError”
- c++ - 如何获取代码以使用 PayRoll Datatype intemplate 进行编译?适用于整数