如何确定支持COPY --link的Docker版本及查询方法
如何确定支持COPY --link的Docker版本及查询方法
咱们来一步步理清这个关于Docker COPY --link 的问题,其实它包含两个核心点:哪个Docker版本开始支持COPY --link,以及怎么确认本地Docker能不能用这个特性。
先聊聊背景
最开始我遇到的情况是,本地Docker解析Dockerfile时不认识COPY --link这个指令。查了资料才知道,这个特性是在Dockerfile前端版本1.4.0里新增的,但一开始找不到这个前端版本对应的Docker Engine具体版本。后来翻了不少资料才发现,COPY --link是在Docker Engine 26.0版本中正式加入的——从Docker Engine 26.0的里程碑记录里能看到,当时有个专门的PR把Dockerfile前端升级到了v1.4.0,这就把两者对应上了。
一、确定支持COPY --link的Docker版本
Docker Engine 26.0及以上版本正式支持COPY --link指令。原因很简单:这个版本首次将Dockerfile前端版本升级到了1.4.0,而COPY --link正是该前端版本新增的核心特性。
二、查询本地Docker是否支持的方法
1. 查看本地Docker Engine版本
打开终端,执行以下任一命令就能快速查看版本:
- 简洁版:
docker -v,会直接输出客户端和服务端的版本号 - 详细版:
docker version,能看到更完整的版本信息,找到Server板块下的Version字段即可
如果版本号是26.0或更高,那理论上就支持COPY --link。
2. 直接验证COPY --link可用性
最稳妥的方式是写个极简的测试Dockerfile来验证:
FROM alpine:latest # 随便找个本地文件,比如test.txt,或者换你有的文件 COPY --link test.txt /app/
然后在终端执行docker build .:
- 如果构建顺利完成,没有报错,说明当前Docker支持
COPY --link - 如果出现类似
invalid flag: --link的错误,那就说明版本不够,需要升级Docker
备注:内容来源于stack exchange,提问作者Svintoo
相关产品推荐
相关产品推荐

