docker 常用命令

吴书松
吴书松
发布于 2026-05-23 / 17 阅读
0

docker 常用命令

一、镜像管理

命令

说明

示例

docker pull

拉取镜像

docker pull docker.1ms.run/library/redis:7.2

docker images

列出本地镜像

docker images

docker rmi

删除镜像

docker rmi docker.1ms.run/library/redis:7.2

docker tag

给镜像打标签

docker tag docker.1ms.run/library/redis:7.2 redis:latest

docker build

通过 Dockerfile 构建镜像

docker build -t myredis:1.0.0 .

docker save

导出镜像为 tar 文件

docker save -o redis.tar docker.1ms.run/library/redis:7.2

docker save docker.1ms.run/library/redis:7.2 > redis-7.2.tar

docker load

从 tar 文件导入镜像

docker load -i redis-7.2.tar


二、容器管理

命令

说明

示例(基于 Redis)

docker run

创建并启动容器

docker run -d --name redis1 -p 6379:6379 docker.1ms.run/library/redis:7.2

docker ps

查看运行中的容器

docker ps

docker ps -a

查看所有容器(含退出)

docker ps -a

docker start

启动已停止的容器

docker start redis1

docker stop

停止容器

docker stop redis1

docker restart

重启容器

docker restart redis1

docker rm

删除容器(需先停止)

docker rm redis1

docker rm -f

强制删除运行中的容器

docker rm -f redis1

docker exec

在运行中的容器内执行命令

docker exec -it redis1 redis-cli INFO

docker logs

查看容器日志

docker logs redis1

docker inspect

查看容器详细信息

docker inspect redis1

docker cp

在容器和宿主机之间复制文件

docker cp redis1:/data/dump.rdb ./backup/

三、Volume 管理(数据持久化)

命令

说明

示例

docker volume create

创建数据卷

docker volume create redis-data

docker volume ls

列出所有数据卷

docker volume ls

docker volume inspect

查看数据卷详情

docker volume inspect redis-data

docker volume rm

删除指定数据卷

docker volume rm redis-data

docker volume prune

删除所有未使用的数据卷

docker volume prune

docker run 中使用

挂载数据卷

docker run -v redis-data:/data ...

docker run 中使用(宿主机路径绑定)

绑定挂载

docker run -v /host/path:/data ...

示例 – 使用 Volume 运行 Redis

bash

# 创建卷
docker volume create redis-data

# 挂载卷并开启 AOF 持久化
docker run -d --name redis-vol \
  -p 6379:6379 \
  -v redis-data:/data \
  docker.1ms.run/library/redis:7.2 \
  redis-server --appendonly yes

四、网络管理

命令

说明

示例

docker network create

创建自定义网络

docker network create mynet

docker network create --subnet=192.160.1.0/24 --gateway=192.160.1.1 wss-cloud-network

docker network ls

列出网络

docker network ls

docker network inspect

查看网络详情

docker network inspect mynet

docker network connect

将容器连接到网络

docker network connect mynet redis1

docker network disconnect

断开容器网络

docker network disconnect mynet redis1

docker network rm

删除网络

docker network rm mynet

示例 – Redis 在自定义网络中运行

bash

# 创建网络
docker network create redis-net

# 运行 Redis 并加入网络
docker run -d --name redis-net-1 --network redis-net \
  docker.1ms.run/library/redis:7.2

# 另一个容器可通过容器名访问 Redis(Docker DNS 解析)
docker run --rm --network redis-net alpine \
  sh -c "nc -vz redis-net-1 6379"   # 测试连通性

五、系统管理

命令

说明

示例

docker info

显示 Docker 系统信息

docker info

docker version

显示版本信息

docker version

docker system df

查看磁盘使用情况(镜像、容器、卷)

docker system df

docker system prune

清理未使用的数据(镜像、容器、网络、构建缓存)

docker system prune -a


六、常用组合演练(Redis 实例)

场景1:拉取镜像 → 运行容器 → 查看日志 → 进入容器 → 删除

bash

docker pull docker.1ms.run/library/redis:7.2
docker run -d --name redis-test -p 6379:6379 docker.1ms.run/library/redis:7.2
docker logs -f redis-test          # 跟随输出日志
docker exec -it redis-test bash    # 进入容器(若可用 bash,否则用 sh)
redis-cli ping                     # 在容器内执行,返回 PONG
docker stop redis-test
docker rm redis-test

场景2:Volume 持久化 + 网络通信

bash

# 创建卷和网络
docker volume create redis-data
docker network create app-net

# 启动 Redis(挂载卷,加入网络)
docker run -d --name redis-app \
  --network app-net \
  -v redis-data:/data \
  docker.1ms.run/library/redis:7.2 \
  redis-server --appendonly yes

# 启动一个临时客户端容器测试
docker run --rm --network app-net alpine \
  sh -c "apk add redis && redis-cli -h redis-app set mykey hello && redis-cli -h redis-app get mykey"