как перезагрузить .bashrc в dockerfile - PullRequest
0 голосов
/ 09 июня 2018

Я добавляю много вещей в .bashrc в Dockerfile, который необходим для выполнения некоторых команд, которые я хочу запустить позже в Dockerfile,
Я устал source .bashrc, который не работает.
Iпробовал использовать RUN /bin/bash -c --login ... но я получаю ошибку: mesg: ttyname failed: inappropriate ioctl for device

1 Ответ

0 голосов
/ 10 июня 2018

Каждая команда в Dockerfile создает новый временный контейнер, но без tty ( выпуск 1870 , обсуждается в PR 4955 , но закрывается в пользу PR 4882 ).

Отсутствие tty во время сборки докера вызывает сообщение об ошибке ttyname failed: inappropriate ioctl for device.

Вместо этого вы можете попробовать запустить скрипт-обертку, который будет источником .bashrc.

Dockerfile:

COPY myscript /path/to/myscript
RUN /path/to/myscript

myscript:

#!/bin/bash
source /path/to/.bashrc
# rest of the commands    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...