sam*_*sam 8 bash docker dockerfile
我在 Dockerfile 中的 .bashrc 中添加了很多东西,这是执行一些我想稍后在 Dockerfile 中运行的命令所必需的,
我厌倦了source .bashrc
它不起作用。
我尝试使用,RUN /bin/bash -c --login ...
但出现错误:mesg: ttyname failed: inappropriate ioctl for device
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
Run Code Online (Sandbox Code Playgroud)
myscript
:
#!/bin/bash
source /path/to/.bashrc
# rest of the commands
Run Code Online (Sandbox Code Playgroud)
在我的情况下,它是为了
nvm
:它添加了一个init
脚本,.bashrc
因此它在 Dockerfile 上下文中不可用。
最终用它的依赖命令制作了一个安装脚本。