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天前
|
监控 NoSQL 时序数据库
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
129 77
|
4天前
|
关系型数据库 MySQL Docker
《docker高级篇(大厂进阶):5.Docker-compose容器编排》包括是什么能干嘛去哪下、Compose核心概念、Compose使用三个步骤、Compose常用命令、Compose编排微服务
《docker高级篇(大厂进阶):5.Docker-compose容器编排》包括是什么能干嘛去哪下、Compose核心概念、Compose使用三个步骤、Compose常用命令、Compose编排微服务
54 24
|
18小时前
|
NoSQL 关系型数据库 MySQL
《docker高级篇(大厂进阶):4.Docker网络》包括:是什么、常用基本命令、能干嘛、网络模式、docker平台架构图解
《docker高级篇(大厂进阶):4.Docker网络》包括:是什么、常用基本命令、能干嘛、网络模式、docker平台架构图解
63 49
《docker高级篇(大厂进阶):4.Docker网络》包括:是什么、常用基本命令、能干嘛、网络模式、docker平台架构图解
|
1月前
|
Java 应用服务中间件 Linux
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
本文主要讲解了Docker的安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库以及Docker容器虚拟化与传统虚拟机比较。
440 11
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
|
6天前
|
关系型数据库 MySQL Docker
《docker高级篇(大厂进阶):5.Docker-compose容器编排》包括是什么能干嘛去哪下、Compose核心概念、Compose使用三个步骤、Compose常用命令、Compose编排微服务
《docker高级篇(大厂进阶):5.Docker-compose容器编排》包括是什么能干嘛去哪下、Compose核心概念、Compose使用三个步骤、Compose常用命令、Compose编排微服务
60 6
|
2月前
|
存储 监控 安全
|
2月前
|
存储 关系型数据库 MySQL
|
4月前
|
Docker 容器
Docker 入门常用命令
Docker 入门常用命令
33 1
|
7月前
|
关系型数据库 MySQL Go
Docker从入门到精通:Docker镜像相关命令学习
本文介绍了Docker中管理镜像的基本命令:`docker images`用于查看镜像列表,`docker search`从Docker Hub搜索镜像,`docker rmi`删除镜像,`docker tag`则用于标记和重命名镜像。通过这些命令,用户能有效管理自己的Docker镜像资源。
|
7月前
|
监控 Docker 容器
Docker从入门到精通:Docker log 命令学习
了解 Docker 日志管理对容器监控至关重要。`docker logs` 命令用于查看和管理容器日志,例如,`docker logs &lt;container_name&gt;` 显示容器日志,`-f` 或 `--follow` 实时跟踪日志,`--tail` 显示指定行数,`--timestamps` 添加时间戳,`--since` 按日期筛选。Docker 支持多种日志驱动,如 `syslog`,可通过 `--log-driver` 配置。有效管理日志能提升应用程序的稳定性和可维护性。