Docker контейнер, который компилирует и запускает файл из общей папки - PullRequest
0 голосов
/ 07 мая 2020

Обычно я хочу запустить Контейнер, который берет файл. c в моем каталоге, компилирует его, запускает и выходит из контейнера.

FROM ubuntu:latest

RUN apt-get update -y
RUN apt-get install -y gcc

WORKDIR /home/

COPY test.c /home/    

RUN gcc start.c

CMD ["./a.out"]

Это был мой предыдущий Dockerfile, и он работал при выполнении с docker run -it --rm <image name>. Проблема в том, что когда я меняю файл c, мне приходится создавать новый образ и запускать его снова, а это занимает много времени. Мой текущий подход таков:

FROM ubuntu:latest
RUN apt-get update -y
RUN apt-get install -y gcc
WORKDIR /home
CMD ["gcc start.c"]
CMD ["./a.out"]

Я запускаю это с помощью docker run -it --rm -v ~/Desktop/docker_c:/home <image-name>, но он выдает мне эту ошибку:

starting container process caused "exec: \"./a.out\": stat ./a.out: no such file or directory": unknown.

Флаг -v для монтирования общей папки находится в команду run, поэтому не следует ли контейнеру монтировать папку при каждом запуске?

Спасибо за вашу помощь!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...