如何在dockerfile中重新加载.bashrc

时间:2018-06-09 19:58:16

标签: bash docker dockerfile

我在Dockerfile中的.bashrc中添加了很多东西,这是执行我希望稍后在Dockerfile中运行的一些命令所必需的,
我累了source .bashrc这不起作用。
我尝试使用RUN /bin/bash -c --login ...,但收到错误:mesg: ttyname failed: inappropriate ioctl for device

1 个答案:

答案 0 :(得分:4)

Dockerfile中的每个命令都会创建一个新的临时容器,但没有tty(issue 1870,在PR 4955中讨论过,但在PR 4882时关闭)。

在docker构建期间缺少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