runhao 的灵光一闪

Docker 常用命令

2025-06-30
效率 PythonDocker入门
3分钟
548字

自己使用 python 项目提供的 http 服务。但 python 最大的问题就是版本不兼容,导致环境维护成本很高。 刚好这次依赖的开源库提供了 DockerFile,就尝试运行一下 Docker 容器,通过其使用的 python 镜像实现环境隔离。 记录一下过程中使用到的各个命令。

Terminal window
1
# 1. 构建镜像
2
docker build . # 基于本地目录中的 DockerFile 构建镜像
3
4
docker build -t myImage:v1.0 # -t 用于指定 tag 名,可以通过 tag 名使用镜像
5
6
# 2. 使用镜像运行容器
7
docker run 6b4425c6fcb # 在前台使用 id 为 6b4425c6fcb 的镜像运行容器
8
9
docker run -d 6b4425c6fcb # 在后台使用 id 为 6b4425c6fcb 的镜像运行容器,-d: detached(分离模式)
10
11
docker run -d localhost/myImage:v1.0 # 在后台使用 tag 为 myImage:v1.0 的镜像运行容器
12
13
# 在后台使用 tag 为 myImage:v1.0 的镜像运行容器,且将宿主机端口映射到容器端口(格式:宿主机端口:容器端口)
14
# 如果没有映射端口,将导致无法访问到容器提供的 http 服务。容器端口由 DockerFile 中命令指定。
15
docker run -d -p 8080:8080 localhost/myImage:v1.0
19 collapsed lines
16
17
# docker run 之后,将增加一条容器记录,镜像是模版,而容器是镜像的运行实例
18
# 3. 查看容器
19
docker ps # 可以看到 CONTAINER ID(容器ID)、IMAGE(对应镜像)、COMMAND(DockerFile 中的命令)、PORTS(绑定的端口信息)等等
20
docker ps -a # 列出所有容器(包括已经停止运行的)
21
22
# 4. 调试容器
23
# 在【已运行】的 CONTAINER ID 为 f2a65ed3c72 的容器中通过伪终端运行 bash(-i 支持标准输入,-t 分配伪终端)
24
docker exec -it f2a65ed3c72 bash # 通过 bash,可以运行各种命令以获取容器内部信息,判断是否正常提供服务,如 curl等
25
26
# 5. 停止容器
27
docker stop f2a65ed3c72 # 停止 CONTAINER ID 为 f2a65ed3c72 的容器
28
29
# 6. 删除容器
30
docker rm f2a65ed3c72 # 删除 CONTAINER ID 为 f2a65ed3c72 的容器
31
docker container prune # 删除已停止的容器
32
33
# 7. 删除镜像
34
docker rmi 6b4425c6fcb # 删除 ID 为 6b4425c6fcb 的镜像。如果使用该镜像的相关容器没有删除,会报错,可以通过 -f 强制删除(不建议)
本文标题:Docker 常用命令
文章作者:Runhao
发布时间:2025-06-30
Copyright 2025
站点地图