目录
百战程序员,全站22050+开发课程+文档 ,学习精选优质好课快人一步!观看视频 快捷键ALT+N

Python全系列 教程

3567个小节阅读:5929.4k

收藏
全部开发者教程

鸿蒙应用开发

C语言快速入门

JAVA全系列 教程

面向对象的程序设计语言

Python全系列 教程

Python3.x版本,未来主流的版本

人工智能 教程

顺势而为,AI创新未来

大厂算法 教程

算法,程序员自我提升必经之路

C++ 教程

一门通用计算机编程语言

微服务 教程

目前业界流行的框架组合

web前端全系列 教程

通向WEB技术世界的钥匙

大数据全系列 教程

站在云端操控万千数据

AIGC全能工具班

A

A A

White Night

阅读(255)
赞(0)

Dockerfile_文件指令

image-20230921144216241

ADD

用于从宿主机目录复制文件到容器内的目录

格式

示例

COPY

用于从宿主机目录复制文件到容器内的目录

格式

示例

提示

COPY 与 ADD 区别:

  • 复制来源

    • COPY: 用于从构建上下文中的本地文件系统复制文件或目录到容器镜像中。通常,COPY 用于复制本地文件,不包括 URL。
    • ADD: ADD 指令不仅可以复制本地文件,还可以从远程 URL 复制文件。
  • 自动解压

    • COPY: 不会自动解压复制的文件,复制的文件在容器中保持原始状态。
    • ADD: 如果复制的是压缩文件,ADD 会自动解压文件到目标位置。
  • 复制文件的权限

    • COPY: 复制文件时保留文件的原始权限和时间戳。

    • ADD: 复制文件时,会将文件的权限设置为默认值(通常为 06440755

      • 0644表示文件权限为 -rw-r--r--
      • 0755表示文件权限为 -rwxr-xr-x

VOLUME

用于预定义镜像中的挂载目录,以便通过docker run -v参数实现宿主机和容器之间的数据交换

格式

示例

提示

为什么要预挂载目录?

  1. VOLUME可以提前声明容器内可以被挂载的目录,作为一种文档,方便知道镜像的设计和用途。
  2. 如果不使用-v参数挂载,VOLUME会创建一个匿名卷,提供一个空目录供容器使用。
  3. 如果多次挂载同一个挂载点,后面的会覆盖前面的,VOLUME可以减少这种意外发生
  4. 将来维护这个镜像的人,可以直接从Dockerfile看到设计者的预期。

总结一下, 不使用VOLUME也可以实现挂载,但是使用VOLUME可以让镜像语义更明确,使用更安全,也更有利于镜像的维护

课上代码

实时效果反馈

1. 在 Dockerfile 中,以下哪个指令不能将本地文件或目录复制到容器镜像中?

A ADD

B COPY

C VOLUME

D RUN

2. Dockerfile 中的 ADDCOPY 指令之间有什么主要区别?

A ADD 用于复制文件,COPY 用于创建数据卷

B ADD 会自动解压压缩文件,COPY 不会自动解压

C COPY 可以从远程 URL 复制文件,而 ADD 不支持

D ADDCOPY 是完全相同的,可以互换使用

答案

1=>D 2=>B

 

北京市昌平区回龙观镇南店村综合商业楼2楼226室

©2014-2023 百战卓越(北京)科技有限公司 All Rights Reserved.

京ICP备14032124号-2