1、docker image build简介
docker image build
是 Docker 提供的一个命令行工具,用于构建 Docker 镜像。通过编写 Dockerfile 文件并使用 docker image build 命令,我们可以自动化地构建和打包镜像,并将其推送到 Docker Hub 或私有镜像仓库中。
2、docker image build 语法
docker image build [OPTIONS] PATH | URL | -
参考文档:https://docs.docker.com/engine/reference/commandline/image_build/
3、docker image build 命令
1)在本地创建一个名为 “myapp” 的目录,并在其中创建一个名为 “Dockerfile” 的文件
2)打开 “Dockerfile” 文件,在其中添加以下内容
# 使用一个现有的Docker镜像作为基础 FROM ubuntu:latest # 安装应用程序所需的软件包 RUN apt-get update && apt-get install -y \ curl \ nginx # 复制应用程序代码到镜像中 COPY ./myapp /usr/share/nginx/html # 暴露端口号 EXPOSE 80 # 启动Nginx Web服务器 CMD ["nginx", "-g", "daemon off;"]
3)构建Docker镜像
docker image build -t myapp:1.0 .
注意:-t
选项指定了镜像的名称和版本号,.
表示当前目录中的Dockerfile文件。
4、命令选项
简称 | 默认值 | 描述 |
--add-host | 添加自定义主机到ip映射(host:ip) | |
--build-arg | 设置构建时变量 | |
--cache-from | 镜像的缓存源 | |
--cgroup-parent | 容器的可选父cgroup | |
--compress | 使用gzip压缩构建context | |
--cpu-period | 限制CPU CFS(完全公平调度器)周期 | |
--cpu-quota | 限制CPU CFS(完全公平调度器)配额 | |
--cpu-shares , -c | CPU份额(相对权重) | |
--cpuset-cpus | 允许执行的cpu(0-3, 0,1) | |
--cpuset-mems | 允许执行的MEMs (0-3, 0,1) | |
--disable-content-trust | true | 跳过镜像验证 |
--file , -f | Dockerfile的文件名(默认是PATH/Dockerfile) | |
--force-rm | 始终删除中间容器 | |
--iidfile | 将镜像ID写入文件 | |
--isolation | 容器隔离技术 | |
--label | 设置镜像的元数据 | |
--memory , -m | 内存限制 | |
--memory-swap | Swap limit等于memory加上Swap: -1,表示无限制交换 | |
--network | 在构建期间为运行指令设置网络模式 | |
--no-cache | 在构建镜像时不使用缓存 | |
--platform | 如果服务器支持多平台,请设置平台 | |
--pull | 总是尝试拉取镜像的新版本 | |
--quiet , -q | 关闭构建输出并在成功时打印镜像ID | |
--rm | true | 在成功构建后移除中间容器 |
--security-opt | 安全选项 | |
--shm-size | /dev/shm的大小 | |
--squash | 将新建的镜像层压缩为一个新镜像层 | |
--tag , -t | 名称和name:tag格式的可选标签 | |
--target | 设定要构建的目标构建阶段。 | |
--ulimit | Ulimit选项 |
5、子命令
命令 | 描述 |
docker image build | 从Dockerfile构建镜像 |
docker image history | 显示图像的历史 |
docker image import | 从压缩包中导入内容以创建文件系统映像 |
docker image inspect | 显示一个或多个镜像的详细信息 |
docker image load | 从tar存档文件或STDIN加载镜像 |
docker image ls | 镜像列表 |
docker image prune | 移除未使用的镜像 |
docker image pull | 从registry下载镜像 |
docker image push | 上传镜像到registry |
docker image rm | 删除一个或多个镜像 |
docker image save | 保存一个或多个镜像到tar存档(默认流式到STDOUT) |
docker image tag | 创建一个指向SOURCE_IMAGE的TARGET_IMAGE标签 |