Docker 镜像与容器的相关操作详解

[复制链接]
发表于 2026-10-3 22:04:43 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×

Docker 有两个核心概念:镜像是静态只读的模板,容器是镜像的运行实例,多一层可写的文件层,里面的应用进程处于运行状态。可以类比「类—实例」。本文把镜像的搜索、拉取、查看、删除,以及容器的创建、查看、启停、删除、进入、退出和信息查看,按命令逐条讲清楚。

一、Docker 镜像

运行容器前本地必须有对应镜像,本地没有时 Docker 会先去默认仓库拉,也可以配置成私有仓库。

搜索镜像

docker search 镜像名称
docker search centos

下载镜像

# 不指定版本,默认走 latest
docker pull centos
# 直接指定版本
docker pull centos:版本号

查看本地镜像

docker images

Docker 默认安装目录是 /var/lib/docker:

cd /var/lib/docker/containers
ls

删除镜像

docker rmi 镜像ID或标签
docker rmi hello-world:latest
docker rmi -f centos:版本号

如果提示镜像被占用,要先停掉用到它的容器,再删容器、删镜像。-f 是强制删除,哪怕有容器依赖也删;不过一般不建议这么干,正解是先清依赖容器再删镜像。

二、Docker 容器

创建容器

# 不指定名字,Docker 随机生成
docker create -it centos:latest
# 指定容器名
docker create -it --name tomcat01 centos:latest
参数含义
create创建容器的关键字
-it两个参数:-i 为交互功能,-t 提供伪终端
--name指定生成的容器名,可省略,省略则自动生成
centos:latest镜像名:版本(或镜像 ID),Docker 会先查本地,没有就去公有仓库拉

查看容器

docker ps        # 当前运行的容器
docker ps -a     # 全部容器

启停容器

docker start 容器ID或name
docker stop 容器ID或name
docker restart 容器ID或name

删除容器

docker rm 容器ID
选项含义
-f, --force=false是否强行停止并删除一个运行中的容器
-l, --link=false删除容器的连接,但保留容器
-v, --volumes=false删除容器挂载的数据卷

批量清理的几种写法:

docker rm $(docker ps -aq)                      # 删掉全部未运行的容器
docker stop $(docker ps -aq) && docker rm $(docker ps -aq)
docker rm $(docker ps -q -f status=exited)      # 只删 Exited 状态的
docker container prune                          # Docker 1.13+ 删除孤立容器

进入容器

docker exec -it 容器ID/容器NAME /bin/bash
# 简写
docker exec -it 容器ID/容器NAME bash

注意:只有容器处于 UP(已启动)状态才能进终端。

创建、启动、进入一体

run 命令等于 create + start。

dockerrun -it centos:latest /bin/bash

端口映射:小写 -p 指定映射,可写多条;大写 -P 让 Docker 随机映射一个 49000~49900 之间的端口。

docker run -it -p 7001:8001 centos:latest /bin/bash
docker run -it -P --name tomcat03 centos:latest /bin/bash

想让容器在后台守卫生效运行,加 -d:

docker run -it -d --name webapp centos:latest
docker exec -it webapp /bin/bash
参数含义
-p端口映射,格式为主机端口:容器端口
-P大写,随机映射 49000~49900 端口
-d后台运行模式

退出容器

  • 想继续让容器跑在后台:先按 Ctrl+P,再按 Ctrl+Q。
  • 想结束容器:按 Ctrl+D 或输入 exit。

查看容器内部信息

已进入容器时,执行这三个命令:

hostname    # 查看主机名
ip addr     # 查看 IP 地址
env         # 查看环境变量

在宿主机上不用进容器也能取:

docker exec 容器ID/容器NAME hostname
docker exec 容器ID/容器NAME ip addr
docker exec 容器ID/容器NAME env

更推荐 docker inspect,它返回一个 JSON 字符串,以 key-value 形式把容器信息列得很全:

docker inspect 容器ID/容器NAME

小结

镜像操作就四个动词:search、pull、images、rmi;容器操作是 create、ps、start/stop/restart、rm、exec。日常最常用的是 docker run -d -p --name 这一条组合,再靠 docker exec -it 进去排查。删镜像前先清容器,能省掉不少强制删除带来的麻烦。

qidao123.com企服评测-应用市场 编辑提示

回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表