Docker 命令中 build -t 和 run -it 选项详解

1. docker build -t 命令解析

基本语法

docker build -t <镜像名>:<标签> <构建上下文路径>

选项解释

  • -t 或 --tag:为构建的镜像指定名称和标签

    • 格式:name:tag(标签可选,默认为 latest

    • 可以多次使用来为一个镜像设置多个标签

    • 例如:-t myapp:1.0 -t myapp:latest

示例

# 构建并命名镜像
docker build -t mypythonapp:3.8 .

# 构建并设置多个标签
docker build -t myapp:1.0 -t myapp:latest .

工作原理

  1. Docker 读取指定路径(通常是 . 表示当前目录)的 Dockerfile

  2. 按照 Dockerfile 指令逐步构建镜像

  3. 最终将构建结果保存为指定名称的镜像

2. docker run -it 命令解析

基本语法

docker run -it <镜像名> [命令]

选项组合解释

  • -i 或 --interactive:保持 STDIN 打开,即使没有连接

  • -t 或 --tty:分配一个伪终端(pseudo-TTY)

通常组合使用 -it 来实现:

  • 交互式 shell 会话

  • 保持终端输入输出连接

示例

# 以交互模式运行容器
docker run -it python:3.8 bash

# 运行并直接进入Python交互解释器
docker run -it python:3.8 python

工作原理

  1. Docker 从指定镜像创建新容器

  2. 分配一个终端并保持标准输入打开

  3. 可以直接与容器内的进程交互

3. 关键区别对比

命令/特性docker build -tdocker run -it
用途 从Dockerfile构建镜像 从镜像创建并运行容器
-t作用 为构建的镜像命名 无此单独选项
-i作用 无此选项 保持标准输入开放
-t在run中 不适用 通常与-i组合为-it使用
结果 生成一个新的Docker镜像 启动一个新的容器实例
典型使用场景 开发时创建自定义镜像 测试/调试容器或交互式应用

4. 组合使用示例

典型开发工作流程:

# 1. 构建镜像
docker build -t myapp:dev .

# 2. 以交互模式运行测试
docker run -it --rm myapp:dev bash

# 3. 运行生产模式
docker run -d -p 8080:80 myapp:dev

记住:

  • build -t 是构建时命名镜像

  • run -it 是运行时保持交互性

  • 这两个命令是 Docker 开发中最常用的基础命令组合

posted @ 2025-06-20 09:53  郭慕荣  阅读(637)  评论(0)    收藏  举报