42-Docker-Docker命令详解-docker build

简介: 42-Docker-Docker命令详解-docker build

前言

  • 本篇来学习下制作docker镜像的命令-- docker build

docker build

原理

  • docker build从Dockerfile和上下文构建docker镜像
  • 构建的上下文是位于指定PATH或URL中的一组文件
  • 构建过程可以引用上下文中的任何文件。例如,构建可以使用COPY指令来引用上下文中的文件。
  • URL参数可以引用三种资源:Git存储库、预打包的tarball上下文和纯文本文件

语法格式

docker build [OPTIONS] PATH | URL | -

options说明

option 作用
-f 指定要使用的Dockerfile路径
-t,–tag 镜像的名字及标签,通常 name:tag 或者 name 格式;可以在一次构建中为一个镜像设置多个标签
–add-host 可以使用一个或多个 --add-host 标志将其他主机添加到容器的 /etc/hosts 文件中
–no-cache 创建镜像的过程不使用缓存
–network 默认 default。在构建期间设置RUN指令的网络模式
–force-rm 删除构建过程中的中间容器层。

使用示例

docker build  --no-cache --force-rm -f dockerfile -t test:v1.0 -t dev:v1.0 .

说明:

  1. 指定 PATH 为 . ,因此本地目录中的所有文件都会被延迟并发送到 Docker 守护程序
  2. PATH 指定在哪里可以找到 Docker 守护程序上构建的“上下文”的文件
  3. 守护进程可以在远程机器上运行,并且不会在客户端(运行 docker build 的地方)解析 Dockerfile
  4. PATH 中的所有文件都会被发送,而不仅仅是 Dockerfile 中列出的 ADD 文件
  5. 当看到 Sending build context 消息时,docker 客户端的意思是将上下文从本地机器传输到 Docker 守护进程

注意

  • 不要使用根目录 / 作为构建上下文的 PATH,因为会导致构建时,将硬盘驱动器的全部内容发送到 Docker 守护程序

  • dockerfile
# dockerfile
FROM centos:7
MAINTAINER dahai<dahai@qq.com>
RUN yum install -y vim
WORKDIR /usr
CMD /bin/bash


相关文章
|
7天前
|
Linux Docker 容器
linux之docker命令
linux之docker命令
|
1月前
|
应用服务中间件 Shell nginx
Docker容器操作基础命令
关于Docker容器操作基础命令的教程,涵盖了从启动、查看、删除容器到端口映射和容器信息获取的一系列常用命令及其使用方法。
63 14
|
27天前
|
存储 Docker 容器
docker save命令和load命令
docker save命令和load命令
|
6天前
|
Ubuntu Shell Docker
docker使用什么命令让时间恢复正确啊
docker使用什么命令让时间恢复正确啊
|
6天前
|
Docker 容器
7-13|docker build -t image-name:tag path/to/Dockerfile 这个命令具体什么意思
7-13|docker build -t image-name:tag path/to/Dockerfile 这个命令具体什么意思
|
2月前
|
Android开发 Docker 容器
docker中编译android aosp源码,出现Build sandboxing disabled due to nsjail error
在使用Docker编译Android AOSP源码时,如果遇到"Build sandboxing disabled due to nsjail error"的错误,可以通过在docker run命令中添加`--privileged`参数来解决权限不足的问题。
166 1
|
2月前
|
负载均衡 调度 Docker
|
14天前
|
负载均衡 网络协议 开发者
掌握 Docker 网络:构建复杂的容器通信
在 Docker 容器化环境中,容器间的通信至关重要。本文详细介绍了 Docker 网络的基本概念和类型,包括桥接网络、宿主网络、覆盖网络和 Macvlan 网络等,并提供了创建、管理和配置自定义网络的实用命令。通过掌握这些知识,开发者可以构建更健壮和灵活的容器化应用,提高应用的可扩展性和安全性。
|
12天前
|
Linux iOS开发 Docker
Docker:容器化技术的领航者 —— 从基础到实践的全面解析
在云计算与微服务架构日益盛行的今天,Docker作为容器化技术的佼佼者,正引领着一场软件开发与部署的革命。它不仅极大地提升了应用部署的灵活性与效率,还为持续集成/持续部署(CI/CD)提供了强有力的支撑。
192 69
下一篇
无影云桌面