Bir*_*abs 18 docker dockerfile
考虑以下Dockerfile:
FROM alpine:edge
EXPOSE \
# web portal
8080 \
# backdoor
8081
Run Code Online (Sandbox Code Playgroud)
像这样建造:
docker build .
Run Code Online (Sandbox Code Playgroud)
我们观察到这样的输出
Sending build context to Docker daemon 17.1TB
Step 1/2 : FROM alpine:edge
---> 7463224280b0
Step 2/2 : EXPOSE 8080 8081
---> Using cache
---> 7953f8df04d9
[WARNING]: Empty continuation line found in:
EXPOSE 8080 8081
[WARNING]: Empty continuation lines will become errors in a future release.
Successfully built 7953f8df04d9
Run Code Online (Sandbox Code Playgroud)
因此,鉴于将注释放在多行部分的中间很快就会变得非法:注释多行命令的新推荐方法是什么?
这对于RUN命令尤其重要,因为我们鼓励我们&&通过命令一起减少图像层.
不确定这是什么时候引入,但我目前在版本中遇到这个问题:
docker --version
Docker version 17.07.0-ce, build 8784753
Run Code Online (Sandbox Code Playgroud)
我正在使用Docker的边缘发布流,所以如果你使用Docker稳定,这可能还不太熟悉.
Pie*_*rre 20
除了上面其他人所说的之外(该错误可能与连续块和/或 windows cr/lf 字符 = 使用 dos2unix 内的注释有关),当您的最后一个命令以反斜杠 \ 字符结尾时,也会显示此消息。例如,如果你有这个:
RUN apt-get update \
&& apt-get upgrade \
&& apt-get -y install build-essential curl gnupg libfontconfig ca-certificates bzip2 \
&& curl -sL https://deb.nodesource.com/setup_16.x | bash - \
&& apt-get -y install nodejs \
&& apt-get clean \
&& rm -rf /tmp/* /var/lib/apt/lists/* \
Run Code Online (Sandbox Code Playgroud)
注意末尾的最后一个 \ 。这会给你带来同样的错误:
docker [WARNING]: Empty continuation line found in:
因此,只需删除最后一个 \ 即可。
| 归档时间: |
|
| 查看次数: |
6836 次 |
| 最近记录: |