docker build与Dockerfile问题

 更新时间:2023年03月09日 08:31:31   作者:kaili230  
这篇文章主要介绍了docker build与Dockerfile问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

docker build与Dockerfile

docker build常用命令

docker build .  # 默认使用当前目录下Dockerfile
docker build . -f centosdockerfile  # 其他名称dockerfile,需要指定
docker build -t ghostwritten/app . # 指定镜像名
docker build -t ghostwritten/app:1.0.2 -t ghostwritten/app:latest . # 指定多个tag
# Dockerfile文件中的每条指令会被独立执行,并会创建一个新镜像,Docker 会重用已生成的中间镜像,以加速docker build的构建速度,也可以通过--cache-from指定
docker build -t ghostwritten/app --cache-from 31f630c65071 . 
docker build -t ghostwritten/app --no-cache . # 不使用缓存

Dockerfile

FROM 		# 构建自己所需镜像使用的基础镜像
MAINTAINER 	# 即将构建镜像的作者,格式为: 姓名<邮箱>
ENV 		# 设置环境变量
USER 		# 为RUN、CMD、ENTRYPOINT执行命令指定运行用户
WORKDIR 	# 镜像启动后在哪个工作目录
RUN 		# 镜像构建时需要的命令
COPY 		# 拷贝文件或目录到镜像中
ADD 		# 需要向镜像中注入的配置文件或者压缩包等
VOLUME 		# 挂载的目录,可以是匿名挂载或者具名挂载
EXPOSE		# 声明容器中运行的服务的端口
CMD 		# 容器启动的时候运行的指令,若写多个的话,只有一个生效,可以运行时在容器外部重新指定
ENTRYPOINT	# 与CMD命令类似,但ENTRYPOINT可以在容器外追加命令
ONBUILD 	# 当构建一个被继承DockerFile,这时会运行ONBUILD命令

docker build 指定dockerfile

docker build命令会根据Dockerfile文件及上下文构建新Docker镜像。

构建上下文是指Dockerfile所在的本地路径或一个URL(Git仓库地址)。

构建上下文环境会被递归处理,所以,构建所指定的路径还包括了子目录,而URL还包括了其中指定的子模块。

将当前目录做为构建上下文时,可以像下面这样使用docker build命令构建镜像:

$ docker build .
Sending build context to Docker daemon  6.51 MB
...

说明:构建会在Docker后台守护进程(daemon)中执行,而不是CLI中。构建前,构建进程会将全部内容(递归)发送到守护进程。大多情况下,应该将一个空目录作为构建上下文环境,并将Dockerfile文件放在该目录下。

在构建上下文中使用的Dockerfile文件,是一个构建指令文件。为了提高构建性能,可以通过.dockerignore文件排除上下文目录下,不需要的文件和目录。

Dockerfile一般位于构建上下文的根目录下,也可以通过-f指定该文件

$ docker build -f /path/to/a/Dockerfile .

构建时,还可以通过-t参数指定构建成后,镜像的仓库、标签等:

docker build -f Dockerfile.test -t image-train-test .

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • docker-compose中变量的使用方式

    docker-compose中变量的使用方式

    这篇文章主要介绍了docker-compose中变量的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • docker安装RabbitMQ详细步骤

    docker安装RabbitMQ详细步骤

    大家好,本篇文章主要讲的是docker安装RabbitMQ详细步骤,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2022-01-01
  • docker-compose快速搭建docker私有仓库的步骤

    docker-compose快速搭建docker私有仓库的步骤

    这篇文章主要介绍了docker-compose快速搭建docker私有仓库的步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • Docker如何搭建私有仓库

    Docker如何搭建私有仓库

    文章介绍了如何搭建私有仓库并使用Docker进行镜像的管理和推送,首先,搭建私有仓库并配置非HTTPS访问(适用于Ubuntu、Debian和CentOS),然后,使用Docker命令标记、推送和拉取镜像,最后,通过curl命令查看仓库中的镜像列表
    2025-03-03
  • Docker镜像存储overlayfs的使用

    Docker镜像存储overlayfs的使用

    这篇文章主要介绍了Docker镜像存储overlayfs的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • Docker使用自定义网桥

    Docker使用自定义网桥

    这篇文章主要为大家详细介绍了Docker使用自定义网桥的相关资料 ,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-10-10
  • docker文件存放路径, 获取容器启动命令操作

    docker文件存放路径, 获取容器启动命令操作

    这篇文章主要介绍了docker文件存放路径, 获取容器启动命令操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • Docker内置网络模式分析

    Docker内置网络模式分析

    这篇文章主要为大家介绍了Docker内置网络模式分析及使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • Docker 容器操作退出后进入解决办法

    Docker 容器操作退出后进入解决办法

    这篇文章主要介绍了Docker 容器操作退出后进入解决办法的相关资料,需要的朋友可以参考下
    2016-10-10
  • Docker入门教程之本地打包docker镜像教程

    Docker入门教程之本地打包docker镜像教程

    Docker镜像是一个特殊的文件系统,既提供了运行时所需的程序、库和资源,还提供了相应的配置参数,只是不包含动态数据,下面这篇文章主要给大家介绍了关于Docker入门教程之本地打包docker镜像的相关资料,需要的朋友可以参考下
    2023-06-06

最新评论