热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

为什么DockerfileRUN打印回显选项?

如何解决《为什么DockerfileRUN打印回显选项?》经验,为你挑选了1个好方法。

在最新的macOS上使用最新的Docker for Mac.

我有一个Dockerfile:

FROM debian:8
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update -y -q \
    && apt-get install -y -q apt-utils \
    && apt-get upgrade -y -q \
    && apt-get install -y -q ssh build-essential libssl-dev libffi-dev python-dev python-pip python-six openjdk-7-jdk \
    && mkdir -p /etc/ansible \
    && echo -e "[ssh_connection]\nssh_args = -o COntrolMaster=no -o COntrolPersist=60s\n" > /etc/ansible/ansible.cfg

问题在于echo命令.该命令生成的文件内容为:

-e [ssh_connection]
ssh_args = -o COntrolMaster=no -o COntrolPersist=60s

-e选项也会打印出来!这个选项已经被echo接收到了更加疯狂的情况,正如被解析的新行所证明的那样.事实上,如果我附加到容器并再次运行相同的命令,我会得到正确的文件内容.我认为这可能是docker build在RUN中引用每个参数的问题,但即使我运行echo "-e" "X\nY"命令打印:

X
Y

有谁知道为什么会这样?



1> Idan..:

试试跑步:

RUN bash -c 'echo -e ...'

资源


推荐阅读
author-avatar
一个不起眼的小人物
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有