mirror of
https://github.com/yeasy/docker_practice.git
synced 2026-03-10 11:54:37 +00:00
Use latest version tools
This commit is contained in:
@@ -34,3 +34,13 @@ COPY --chown=10:11 files* /mydir/
|
||||
```
|
||||
|
||||
如果源路径为文件夹,复制的时候不是直接复制该文件夹,而是将文件夹中的内容复制到目标路径。
|
||||
|
||||
## 使用 `--link` 优化多阶段构建
|
||||
|
||||
在 BuildKit 中,可以使用 `--link` 选项来优化多阶段构建的性能。使用 `--link` 后,文件会以独立层的形式添加,无需依赖前序指令的结果:
|
||||
|
||||
```docker
|
||||
COPY --link --from=builder /app/dist /usr/share/nginx/html
|
||||
```
|
||||
|
||||
这样可以更高效地利用缓存,加速构建过程。
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
假设我们需要一个得知自己当前公网 IP 的镜像,那么可以先用 `CMD` 来实现:
|
||||
|
||||
```docker
|
||||
FROM ubuntu:18.04
|
||||
FROM ubuntu:24.04
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y curl \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
@@ -49,7 +49,7 @@ $ docker run myip curl -s http://myip.ipip.net -i
|
||||
这显然不是很好的解决方案,而使用 `ENTRYPOINT` 就可以解决这个问题。现在我们重新用 `ENTRYPOINT` 来实现这个镜像:
|
||||
|
||||
```docker
|
||||
FROM ubuntu:18.04
|
||||
FROM ubuntu:24.04
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y curl \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
Reference in New Issue
Block a user