docker学习笔记一 (docker build)和build时文件过大

Docker build 命令

docker build 命令用于使用Dockerfile文件来创建镜像

docker build [OPTIONS] PATH |URL| -

OPTIONS说明:

–build-arg=[] :设置镜像创建时的变量;

–cpu-shares :设置 cpu 使用权重;

–cpu-period :限制 CPU CFS周期;

–cpu-quota :限制 CPU CFS配额;

–cpuset-cpus :指定使用的CPU id;

–cpuset-mems :指定使用的内存 id;

–disable-content-trust :忽略校验,默认开启;

-f :指定要使用的Dockerfile路径;

–force-rm :设置镜像过程中删除中间容器;

–isolation :使用容器隔离技术;

–label=[] :设置镜像使用的元数据;

-m :设置内存最大值;

–memory-swap :设置Swap的最大值为内存+swap,"-1"表示不限swap;

–no-cache :创建镜像的过程不使用缓存;

–pull :尝试去更新镜像的新版本;

–quiet, -q :安静模式,成功后只输出镜像 ID;

–rm :设置镜像成功后删除中间容器;

–shm-size :设置/dev/shm的大小,默认值是64M;

–ulimit :Ulimit配置。

–tag, -t: 镜像的名字及标签,通常 name:tag 或者 name 格式;可以在一次构建中为一个镜像设置多个标签。

–network: 默认 default。在构建期间设置RUN指令的网络模式

实列1

使用 -f 来指定Dockerfile文件的位置,
并把制作的镜像保存到当前目录,
没有使用 -t 来指定标签的话标签会为 < none>

#docker build -f /home/Dockerfile .
用上面这条#docker build -f /home/Dockerfile . 做好的镜像的id为e0e。。。

在这里插入图片描述
没有使用 -t 来指定标签的话标签会为 < none>
在这里插入图片描述

实列2

使用 -t 是使用
1.当前目录
2.默认的Dockerfile文件,
来指定标签为 xxx:xxx,并把制作的镜像保存到当前目录

#docker build -t xxx:xxx .

实列3

使用 -f -t 两个一起使用,-f 来指定Dockerfile文件的位置,来指定标签为 xxx:xxx,
并把制作的镜像保存到当前目录

docker build -f /home/Dockerfile -t xxx:xxx .
  • 在 Docker 守护进程执行 Dockerfile 中的指令前,首先会对 Dockerfile 进行语法检查,有语法错误时会返回:*
$ docker build -t test/myapp .
Sending build context to Docker daemon 2.048 kB
Error response from daemon: Unknown instruction: RUNCMD

强调

最后需要强调的一点是:存放Dockerfile文件的文件夹最好是只有Dockerfile这一个文件,
因为他会把Dockerfile文件同级目录下的东西全部发送到Docker daemon
比如这样有其他东西就有 4.309 GB 被发送到docker daemon了

Sending build context to Docker daemon 4.309 GB

而如果是一个只存放Dockerfile这一个文件的话,就是这样只有 679.9 kB 被发送到docker daemon了

Sending build context to Docker daemon 679.9 kB

但是有时候脑袋就是这么直,我就是想要在根目录进行呢。这个时候该怎么办呢?

—— .dockerignore 。

没错了,在Dockerfile同级目录下添加一个 .dockerignore 文件。

在 .dockerignore 中添加需要忽略的文件或者文件夹即可。于是在添加之后:

Sending build context to Docker daemon 679.9 kB

看到这个数据量整个人都舒服了。

如果有用的记得点赞收藏哟

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当然,我会帮助你记录和学习Docker的知识点。下面是一份Docker学习笔记: 1. 什么是DockerDocker是一个开源的容器化平台,可以帮助开发者创建、打包、部署和运行应用程序,使应用程序可以在不同的环境中无缝运行。 2. Docker的优势有哪些? - 轻量化:Docker容器与虚拟机相比更加轻量级,启动和停止速度更快。 - 可移植性:Docker容器可以在任何支持Docker的平台上运行,无需担心环境不一致的问题。 - 隔离性:Docker使用容器技术进行隔离,每个容器之间相互独立,不会相互影响。 - 效率:Docker可以将应用程序及其依赖项打包为一个镜像,部署和扩展非常方便。 3. Docker常用的概念: - 镜像(Image):一个只读的模板,包含了运行应用程序所需的所有文件和依赖项。 - 容器(Container):基于镜像创建的可执行实例,可以运行、停止、删除等操作。 - 仓库(Registry):用于存储和分享镜像的地方,常用的有Docker Hub。 - Dockerfile:用于定义镜像构建过程的文本文件,包含了一系列的指令和配置。 4. Docker基本使用命令: - `docker pull <image-name>`:从仓库中拉取指定镜像。 - `docker run <image-name>`:创建并运行一个新的容器。 - `docker ps`:查看当前正在运行的容器。 - `docker stop <container-id>`:停止指定容器的运行。 - `docker rm <container-id>`:删除指定容器。 - `docker rmi <image-name>`:删除指定镜像。 5. Docker常见应用场景: - 镜像管理:可以通过Docker镜像进行应用程序开发、测试和部署。 - 微服务架构:通过容器化实现应用程序的模块化,方便管理和扩展。 - CI/CD:在持续集成和持续部署过程中使用Docker来构建、测试和发布应用程序。 这些是Docker学习过程中的一些基础知识点和常用命令。希望对你有帮助!如果你还有其他问题,可以随问我。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值