使用Ubuntu 16.04.2主机。
Docker版本 17.06.0-ce。
文件
RUN echo -e "deb http://nginx.org/packages/mainline/ubuntu/ xenial nginx\ndeb-src http://nginx.org/packages/mainline/ubuntu/ xenial nginx" | tee /etc/apt/sources.list.d/nginx.list
Run Code Online (Sandbox Code Playgroud)
这导致/etc/apt/sources.list.d/nginx.list:
-e deb http://nginx.org/packages/mainline/ubuntu/ xenial nginx
deb-src http://nginx.org/packages/mainline/ubuntu/ xenial nginx
Run Code Online (Sandbox Code Playgroud)
好吧,好像对反斜杠转义的解释有效。但是这个“-e”已经出现在文件中。
然后无法构建这样的图像。
你能在这里踢我一脚吗?
Sam*_*Toh 11
尝试改用bash shellforecho命令。默认情况下,Docker 使用shshell,并且出于某种原因它不喜欢这些-e字符并将其作为其输入的一部分进行回显。
解决这个问题;
更新至:
RUN bash -c 'echo -e "deb http://nginx.org/packages/mainline/ubuntu/ xenial nginx\ndeb-src http://nginx.org/packages/mainline/ubuntu/ xenial nginx" | tee /etc/apt/sources.list.d/nginx.list'
Run Code Online (Sandbox Code Playgroud)
输出:
root@87944d07f493:/etc/apt/sources.list.d# cat nginx.list deb http://nginx.org/packages/mainline/ubuntu/ xenial nginx deb-src http://nginx.org/packages/mainline/ ubuntu/ xenial nginx
您可以通过切换到sh当前终端会话来复制这个“docker 问题” ,然后echo再次执行相同的命令。
| 归档时间: |
|
| 查看次数: |
1087 次 |
| 最近记录: |