📜  docker BUILD 命令 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:30:31.395000             🧑  作者: Mango

Docker BUILD命令 - Shell/Bash

Docker是一种开源的容器化平台,它可以方便地打包、分发和部署应用程序,使得应用程序的可移植性更高、开发流程更加快速。而docker build命令则是Docker中最重要的构建镜像指令之一。

什么是Docker BUILD命令?

Docker BUILD命令是用于构建Docker镜像的命令。它可以使用一个Dockerfile文件来指定构建镜像的配置和步骤。当你运行docker build命令时,它会根据当前目录下的Dockerfile文件来创建一个新的Docker镜像。

Docker BUILD命令的语法
docker build [OPTIONS] PATH | URL | -

OPTIONS可以是以下任意一个或多个:

  • --tag, -t: 指定新的镜像标签(名称)和可选的tag版本号,例如"myimage:1.0"。如果不指定tag或者只指定了名称,就默认创建tag为latest的镜像。
  • --file, -f: 指定Dockerfile路径。如果你的Dockerfile不在当前目录下,那么可以使用此选项来指定它的路径。
  • --no-cache: 不使用缓存来创建镜像。
  • --pull: 在构建过程中始终尝试拉取最新版本的父镜像。
  • --quiet, -q: 只显示构建过程中的最终镜像ID。

PATH/URL可以是以下任意一个或多个:

  • '.':表示当前目录
  • url: 表示远程git仓库地址,例如 git://github.com/user/repo.git#master.
Dockerfile文件格式

在进行Docker镜像构建时,我们需要编写Dockerfile文件来定义构建过程中的操作、环境、服务等。Dockerfile文件的格式如下:

# Comment
INSTRUCTION arguments

# 例如
FROM debian:buster-slim
WORKDIR /app
COPY . /app
RUN apt-get update && apt-get install -y curl
CMD curl -s http://ip-api.com/json

INSTRUCTION指令包括了FROM(设置镜像源)、RUN(运行命令)、ENV(设置环境变量)、ADD(添加文件)、COPY(复制文件)、CMD(设置容器启动命令)和ENTRYPOINT(设置容器入口点)等。

Docker BUILD命令的例子
docker build -t myimage:1.0 .

这个例子表示构建当前目录下的Dockerfile配置,设置新的镜像名为myimage,版本标签为1.0。

docker build -f Dockerfile.dev -t myimage:latest .

这个例子表示构建当前目录下的Dockerfile.dev文件配置,设置新的镜像为myimage,版本标签为latest。

总结

Docker BUILD命令是Docker中最基本而重要的镜像构建指令,通过Dockerfile文件可以构建出各类不同的Docker镜像,方便分发和部署应用程序。