Skip to main content

命令解释

build

docker build 是 Docker 中用于从 Dockerfile 构建镜像的命令。

  1. -t, --tag:为镜像指定一个名称和标签,通常格式为 name:tag
    • 作用:为构建的镜像设置一个易于识别的名称和版本标签。
    • 示例:docker build -t myimage:latest .
  2. -f, --file:指定 Dockerfile 文件的路径或名称。
    • 作用:允许用户指定一个自定义的 Dockerfile,而不是使用默认的 "PATH/Dockerfile"。
    • 示例:docker build -f /path/to/Dockerfile -t myimage:latest .
  3. --build-arg:设置构建时的变量。
    • 作用:在构建过程中传递变量,这些变量在 Dockerfile 中通过 ARG 指令定义。
    • 示例:docker build --build-arg HTTP_PROXY=http://proxy.example.com -t myimage:latest .
  4. --no-cache:构建镜像时不使用缓存。
    • 作用:忽略缓存,确保每次构建都是基于最新的 Dockerfile 和基础镜像。
    • 示例:docker build --no-cache -t myimage:latest .
  5. --pull:尝试拉取基础镜像的最新版本。
    • 作用:在构建之前更新基础镜像,确保使用的是最新的版本。
    • 示例:未提供具体示例,但可以在命令中添加 --pull 参数来实现此功能。
  6. --rm:构建成功后删除中间容器。
    • 作用:清理构建过程中产生的临时容器,避免占用空间。
    • 示例:docker build --rm -t myimage:latest . (注意:此参数默认启用,通常不需要显式指定)
  7. -m, --memory:设置内存的最大值。
    • 作用:限制构建过程中容器可以使用的内存量。
    • 示例:docker build -m 512m -t myimage:latest .
  8. --network:在构建期间设置 RUN 指令的网络模式。
    • 作用:允许为构建过程中的容器设置网络模式,如 "none", "host", 或 "default"。
    • 示例:未提供具体示例,但可以在命令中添加 --network 参数来实现此功能。
  9. --progress:设置构建进度输出模式。
    • 作用:控制构建过程中的输出显示方式,如 "auto", "plain", 或 "tty"。
    • 示例:docker build --progress=plain -t myimage:latest .
  10. --squash:将新构建的层压缩成单个新层。
    • 作用:减少镜像层数,使镜像更加紧凑。
    • 示例:未提供具体示例,但可以在命令中添加 --squash 参数来实现此功能。

run

  1. -d, --detach:后台运行容器。
    • 作用:让容器在后台运行,相当于启动一个服务。
    • 示例:docker run -d myimage
  2. --name:为容器指定一个名称。
    • 作用:给容器设置一个易于识别的名称,而不是默认生成的名称。
    • 示例:docker run --name mycontainer myimage
  3. -p, --publish:端口映射。
    • 作用:将容器内部的端口映射到宿主机的端口。
    • 示例:docker run -p 4000:80 myimage(将容器的80端口映射到宿主机的4000端口)
  4. -e, --env:设置环境变量。
    • 作用:在容器内部设置环境变量。
    • 示例:docker run -e "ENV_VAR=value" myimage
  5. -v, --volume:挂载卷。
    • 作用:将宿主机的文件系统挂载到容器内部,用于数据持久化。
    • 示例:docker run -v /host/path:/container/path myimage
  6. --network:指定容器的网络连接。
    • 作用:设置容器的网络模式,如 "bridge", "host", "none", 或自定义网络。
    • 示例:docker run --network=host myimage
  7. --restart:重启策略。
    • 作用:设置容器在退出时的重启策略,如 "no", "always", "unless-stopped" 等。
    • 示例:docker run --restart always myimage
  8. --cpus:限制容器可以使用的CPU资源。
    • 作用:为容器设置CPU使用的限制。
    • 示例:docker run --cpus="2.0" myimage
  9. -m, --memory:限制容器可以使用的内存。
    • 作用:为容器设置内存使用的限制。
    • 示例:docker run -m 512m myimage
  10. --link:链接到另一个容器。
    • 作用:将一个容器链接到另一个容器,以便它们可以相互通信。
    • 示例:docker run --link dbcontainer:db myimage(将 myimage 容器链接到名为 dbcontainer 的容器)
  11. --rm:容器退出时自动清理容器文件系统。
    • 作用:当容器停止时,自动删除容器,用于临时或一次性任务。
    • 示例:docker run --rm -it myimage bash
  12. -it:分配一个伪终端并保持 STDIN 打开。
    • 作用:用于交互式容器,提供一个终端,允许用户与容器内部进程交互。
    • 示例:docker run -it myimage bash
  13. --detach-keys:覆盖容器脱离键的默认值。
    • 作用:设置从容器中分离的按键组合。
    • 示例:docker run --detach-keys ctrl-q,ctrl-a myimage
  14. --entrypoint:覆盖 Dockerfile 中的 ENTRYPOINT 指令。
    • 作用:指定容器启动时执行的命令。
    • 示例:docker run --entrypoint /bin/bash myimage
  15. --gpus:限制容器可以使用的GPU资源。
    • 作用:为容器设置GPU使用的限制。
    • 示例:docker run --gpus all myimage

rabbitmq

docker pull rabbitmq:management //下载RabbitMQ镜像
docker run --name rabbit --restart=always -p 15672:15672 -p 5672:5672 -d rabbitmq:management //启动RabbitMQ,默认guest用户,密码也是guest。