Не удается смонтировать локальный каталог в контейнер из файла docker -compose - PullRequest
0 голосов
/ 29 марта 2020

Я хочу смонтировать локальный каталог проекта в контейнер docker до того, как я использовал команду COPY, но когда я делаю изменения, мне нужно перестроить те части, которые включают некоторую установку из сценариев bash.

Это мой docker-compose файл

version "3.7"
services
 tesseract:
    container_name: tesseract
    build:
      context: ./app/services/tesseract/
      dockerfile: Dockerfile
    volumes:
      - ./app/services/tesseract:/tesseract/

У меня нет ошибок при сборке, и мой WORKDIR tesseract пуст, когда я запускаю контейнер

Это мой Dockerfile

FROM ubuntu:19.10

ENV DEBIAN_FRONTEND=noninteractive
ENV TESSERACT=/usr/share/tesseract

WORKDIR /tesseract

RUN apt-get update && apt-get install -y \
    build-essential \
    software-properties-common \
    python3.7 \
    python3-pip \
    cmake \
    autoconf \
    automake \
    libtool \
    pkg-config \
    libpng-dev \
    tesseract-ocr \
    libtesseract-dev \
    libpango1.0-dev \
    libicu-dev \
    libcairo2-dev \
    libjpeg8-dev \
    zlib1g-dev \
    libtiff5-dev \
    wget \
    git \
    g++ \
    vim

RUN git clone https://github.com/tesseract-ocr/tesseract $TESSERACT

COPY . /tesseract/
RUN chmod +x scripts/*
RUN scripts/compile_tesseract.sh
RUN scripts/langdata_lstm.sh scripts/start.sh
RUN pip3 install -r requirements.txt

ENV TESSDATA_PREFIX=/usr/share/tesseract/tessdata

1 Ответ

1 голос
/ 29 марта 2020

Основная цель docker тома -

Тома - это предпочтительный механизм для сохранения данных, генерируемых и используемых Docker контейнерами.

, что означает тома используются для сохранения данных вне жизненного цикла контейнера. Если вы хотите COPY файл или каталог в контейнер, используйте инструкцию COPY.

Если вы копируете в локальные файлы изображение Docker, всегда используйте COPY, потому что оно более явное.

С Docker -композицией, Вы можете использовать том монтирования для связывания

https://docs.docker.com/compose/gettingstarted/#step -5-редактировать-создать-файл-добавить-привязать-монтировать # step-5-edit-the -compose-file-to-add-a-bind-mount

...