Как создать образ docker из файла dockerfile, а затем сделать файл конфигурации доступным на томе при запуске образа из docker -compsose - PullRequest
1 голос
/ 03 апреля 2020

Я создаю 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" ]

внутри папки 'sr c' является папкой 'config' с 'config. json' сохранено src / config / config. json

docker -компонентный файл выглядит следующим образом

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 Невозможно запустить службу "process_ linux. go: 44
9: вызвана инициализация контейнера \" rootfs_ linux. go: 58: монтирование \\ "/ home / xtp / config.jso
n \\ "to rootfs \\" / var / lib / docker / overlay2 / c5a992a5717f2d510e75056ba38ad4075a0
31e73ca010fef5da8328ad366eaad / слился \\ "в \\" / var / lib / docker / overlay * / 1015386a0e0e0e5e5e5a5e5e5a5e5a5e5e5e5e5e5e5e5e5e5e0e5e5e0e5e5e5e5e5e5e5e5e0e0e5e0e0e5e0e0e0e0e0e5e0e0e0e0e0e0e0e0e5e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0 )1e0e0e0e0e0e0e0e0e0eaaa Все отчего-то: conf ig.json \\ "вызвал \\" не каталог \\ "\" ": unknown: вы пытаетесь смонтировать
каталог в файл (или наоборот)? Проверьте, существует ли указанный путь к хосту
и является ли он ожидаемым типом

ОШИБКА: для umpmfd Невозможно запустить службу umpmfd: Ошибка создания среды выполнения OCI: conta
iner_ linux. go: 346: вызван процесс запуска контейнера "process_ linux. go: 449: продолжение
вызвано инициализацией ainer \" rootfs_ linux. go: 58: монтирование \\ "/ home / xtp / config.json \\ "t
o rootfs \\" / var / lib / docker / overlay2 / c5a992a5717f2d510e75056ba38ad4075a031e73ca 010fef5da8328ad366eaad / merged \\ "at \\" / var / lib / docker / overlay2 / c56a0e0e0e0e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5103106153 /config.json \\ "вызвал \\" не каталог \\ "\" ": unknown: Вы пытаетесь смонтировать страшную c
версию в файл (или наоборот)? Проверьте, существует ли указанный путь к хосту и является ли
ожидаемым типом

Что мне нужно изменить, чтобы этот файл конфигурации. json был доступен в качестве тома на хост-компьютере?

1 Ответ

1 голос
/ 03 апреля 2020

Вы пытаетесь смонтировать каталог в файл (или наоборот)?

Это именно то, что предлагает сообщение об ошибке.

Монтировать каталоги вместо файлы.

  volumes:
    - "/home/xtp:/app/config" 
...