Я создаю образ докера, в который я хотел бы смонтировать свой домашний каталог.Однако есть другой файл bashrc
, который я хотел бы запустить при создании экземпляра.
Проблема в том, что я не могу скопировать этот файл bashrc
в рабочий каталог моего пользователя, поскольку именно там я буду монтировать свой (хост)) домашний каталог.Я попытался таким образом добавить к /etc/bashrc
или положить в /etc/profile.d, но он никогда не запускается.
Мой dockerfile выглядит так:
FROM centos:7
RUN adduser -s /bin/bash user -G users
RUN echo "echo /etc/bashrc" >> /etc/bashrc
RUN echo "echo /etc/profile" >> /etc/profile
RUN echo "echo /etc/profile.d/mine.sh" >> /etc/profile.d/mine.sh
USER user
WORKDIR /home/user
ENTRYPOINT [ "/bin/bash" ]
Я сейчас собираю и запускаю этотконтейнер при монтировании моего домашнего каталога:
docker build -t devenv .
docker run --rm --volume $HOME:/home/user -it devenv
Когда я открываю консоль, запускается только (смонтированный) .bashrc.Однако, если я запускаю bash -l
(оболочка входа в систему);затем запускаются файлы профиля (но не .bashrc).
bash-4.2$ bash
inside mounted host .bashrc
bash-4.2$ bash -l
/etc/profile.d/mine.sh
/etc/profile
/etc/profile.d/mine.sh
/etc/profile
Так что я не знаю, куда поместить мою логику, которая будет работать при входе в консоль (и .bashrc также должен работать)?Почему / etc / bashrc никогда не запускается?
EDIT : при запуске bash
или даже bash -l
на виртуальной машине centos7;/ etc / bashrc запускается ...