Я хотел бы добавить пользовательский двоичный исполняемый файл в один из контейнеров. Я сделал это на своей машине и пытаюсь добавить это. Сначала я подумал о монтировании некоторого каталога как /tmp/foo и просто скопировал его в /usr/bin/ . Не очень приятно, но нужно сделать свое дело. Для этого я определил следующее монтирование тома в docker-compose.yml:

volumes:
  - ./var/bin/:/tmp/bin/

и следующую команду в Dockerfile:

RUN ls /tmp/bin

RUN cp /tmp/bin/wkhtmltoimage /usr/local/bin/ && cp /tmp/bin/wkhtmltopdf /usr/local/bin/

Как вы можете видеть, я уже добавил каталог, чтобы проверить, есть ли что-нибудь, и я получил

ls: cannot access /tmp/bin: No such file or directory
ERROR: Service 'web' failed to build: The command '/bin/sh -c ls /tmp/bin' returned a non-zero code: 2

Теперь есть два вопроса:1. Почему этот каталог не виден в командной строке контейнера? Другие крепления доступны ... 2. Как я могу достичь этой цели "правильно"? Чтобы двоичный файл копировался / устанавливался один раз при сборке образа и не требовал отображения при каждом запуске контейнера?

0