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 .
工作原理
-
Docker 读取指定路径(通常是
.表示当前目录)的 Dockerfile -
按照 Dockerfile 指令逐步构建镜像
-
最终将构建结果保存为指定名称的镜像
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
工作原理
-
Docker 从指定镜像创建新容器
-
分配一个终端并保持标准输入打开
-
可以直接与容器内的进程交互
3. 关键区别对比
| 命令/特性 | docker build -t | docker 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 开发中最常用的基础命令组合
郭慕荣博客园

浙公网安备 33010602011771号