【发布时间】:2020-07-15 07:35:37
【问题描述】:
我正在创建一个 docker 容器,该容器运行一个收集遥测数据的 python 脚本。 dockerfile 看起来像这样。
FROM python:3.7-alpine
WORKDIR /app
COPY src/requirements.txt ./
RUN pip install -r requirements.txt
COPY src /app
CMD [ "python", "main.py" ]
文件夹“src”内是一个文件夹“config”,其中保存了“config.json” src/config/config.json
docker-compose 文件如下所示
version: '2.2'
services:
umpmfd:
container_name: mfdwebsockets
build: mfdwebsockets
network_mode: "host"
restart: always
volumes:
- "/home/xtp/config.json:/app/config/config.json"
depends_on:
- influxdb
- grafana
我想在主机上使用“config.json”文件,这样我就可以在不停止和重新启动容器的情况下更改配置。目前我收到此错误。
错误:对于 mfdwebsockets 无法启动服务 umpmfd:OCI 运行时 创建失败
: container_linux.go:346: 启动容器进程导致 “process_linux.go:44
9: 容器初始化导致\"rootfs_linux.go:58: 挂载 \\"/home/xtp/config.jso
n\\" 到 rootfs \\"/var/lib/docker/overlay2/c5a992a5717f2d510e75056ba38ad4075a0
31e73ca010fef5da8328ad366eaad/merged\\" 在 \\"/var/lib/docker/overlay2/c5a992a
5717f2d510e75056ba38ad4075a031e73ca010fef5da8328ad366eaad/merged/app/config/conf ig.json\\" 导致\\"不是目录\\"\"":未知:您是否在尝试 安装
一个目录到一个文件(或反之亦然)?检查指定主机是否 路径存在
并且是预期的类型错误:对于 umpmfd 无法启动服务 umpmfd:OCI 运行时创建 失败:联系
iner_linux.go:346:启动容器进程导致 “process_linux.go:449: 续
ainer init 导致 \"rootfs_linux.go:58: 挂载 \\"/home/xtp/config.json\\" t
o rootfs \\"/var/lib/docker/overlay2/c5a992a5717f2d510e75056ba38ad4075a031e73ca 010fef5da8328ad366eaad/merged\\" 在 \\"/var/lib/docker/overlay2/c5a992a5717f2d
510e75056ba38ad4075a031e73ca010fef5da8328ad366eaad/merged/app/config/config.json \\"导致\\"不是目录\\"\"":未知:您是否尝试 挂载一个目录
复制到文件上(反之亦然)?检查指定的主机路径 存在并且是
预期的类型
我需要进行哪些更改才能将此 config.json 文件作为卷在主机上使用?
【问题讨论】:
-
在您开始之前,该确切路径中的文件
/home/xtp/config.json是否存在?如果没有,Docker 会将它创建为一个目录,你会得到这个错误。
标签: docker docker-compose dockerfile config