Docker 常用命令(含应用示例与运行结果)
2026/7/17 13:58:17 网站建设 项目流程

📃个人主页:编程的一拳超人

⛺️ 欢迎关注:👍点赞 👂🏽留言 😍收藏 💞 💞 💞

于高山之巅,方见大河奔涌;于群峰之上,更觉长风浩荡。 ——《人民日报》

  • 一、镜像管理
    • 1. 拉取镜像
    • 2. 查看本地镜像
    • 3. 删除镜像
    • 4. 构建镜像
    • 5. 标记镜像
    • 6. 推送镜像到仓库
  • 二、容器操作
    • 1. 创建并启动容器
    • 2. 查看容器
    • 3. 启动/停止/重启容器
    • 4. 进入容器
    • 5. 删除容器
    • 6. 查看容器日志
    • 7. 查看容器详情
  • 三、网络管理
    • 1. 查看网络
    • 2. 创建网络
    • 3. 连接容器到网络
  • 四、数据卷管理
    • 1. 创建数据卷
    • 2. 查看数据卷详情
    • 3. 删除数据卷
  • 五、其他常用命令
    • 1. 查看 Docker 信息
    • 2. 清理未使用资源

一、镜像管理

1. 拉取镜像

命令docker pull [镜像名]:[标签],标签省略时默认latest
应用示例:拉取 Ubuntu 20.04 镜像

dockerpull ubuntu:20.04

运行结果

20.04: Pulling from library/ubuntu 5a81c4b8502e: Pull complete Digest: sha256:xxx Status: Downloaded newer image for ubuntu:20.04 docker.io/library/ubuntu:20.04

2. 查看本地镜像

命令docker images(列出所有本地镜像)

dockerimages# 列出所有本地镜像dockerimages-q# 只显示镜像ID

应用示例:查看已下载的镜像

dockerimages

运行结果

REPOSITORY TAG IMAGE ID CREATED SIZE ubuntu 20.04 d13c942271d6 2 weeks ago 72.8MB nginx latest 605c77e624dd 3 weeks ago 141MB

3. 删除镜像

命令docker rmi [镜像ID/镜像名]

dockerrmi[镜像ID/镜像名]# 删除指定镜像,需先停止依赖该镜像的容器dockerrmi$(dockerimages-q)# 删除所有本地镜像(慎用)

应用示例:删除 Ubuntu 20.04 镜像(需先停止依赖它的容器)

dockerrmi ubuntu:20.04

运行结果

Untagged: ubuntu:20.04 Untagged: ubuntu@sha256:xxx Deleted: sha256:d13c942271d6...

4. 构建镜像

命令docker build -t [镜像名]:[标签] [Dockerfile目录]

dockerbuild-t[镜像名]:[标签][Dockerfile所在目录]# 如 docker build -t myapp:1.0.

应用示例:基于当前目录的 Dockerfile 构建名为myapp:1.0的镜像

dockerbuild-tmyapp:1.0.

运行结果

Sending build context to Docker daemon 2.048kB Step 1/3 : FROM ubuntu:20.04 ... Successfully built a1b2c3d4e5f6 Successfully tagged myapp:1.0

5. 标记镜像

命令docker tag [原镜像] [新镜像名:新标签]

dockertag[原镜像名:标签][新镜像名:新标签]# 常用于给镜像打版本或推送至仓库

应用示例:给myapp:1.0标记为仓库推送格式

dockertag myapp:1.0 myrepo/myapp:1.0

运行结果:无输出,可通过docker images查看标记后的镜像。

6. 推送镜像到仓库

命令docker push [仓库地址/镜像名]:[标签]

dockerpush[仓库地址/镜像名]:[标签]# 需先登录仓库(docker login)

应用示例:推送镜像到个人仓库(需先docker login

dockerpush myrepo/myapp:1.0

运行结果

The push refers to repository [docker.io/myrepo/myapp] 12345678: Pushed 1.0: digest: sha256:xxx size: 1234

二、容器操作

1. 创建并启动容器

命令docker run [选项] [镜像名] [命令]

dockerrun[选项][镜像名][命令]# 常用选项:-d# 后台运行(守护态)-p主机端口:容器端口# 端口映射,如 -p 8080:80-v主机目录:容器目录# 数据卷挂载,如 -v /data:/app/data--name[容器名]# 指定容器名称-eKEY=VALUE# 设置环境变量--rm# 容器退出后自动删除--link[其他容器名]# 链接到其他容器(已逐步被网络替代)

应用示例:后台启动 Nginx 容器,映射主机 8080 端口到容器 80 端口,命名为mynginx

dockerrun-d-p8080:80--namemynginx nginx

运行结果

f4a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0

(输出容器 ID,表示启动成功,可通过http://localhost:8080访问 Nginx 首页)

2. 查看容器

命令docker ps(运行中容器);docker ps -a(所有容器)

dockerps# 列出运行中的容器dockerps-a# 列出所有容器(包括停止的)dockerps-q# 只显示运行中容器的ID

应用示例:查看所有容器

dockerps-a

运行结果

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES f4a1b2c3d4e5 nginx "/docker-entrypoint.…" 2 minutes ago Up 2 minutes 0.0.0.0:8080->80/tcp mynginx

3. 启动/停止/重启容器

命令docker start/stop/restart [容器名/ID]

dockerstart[容器ID/容器名]# 启动已停止的容器dockerstop[容器ID/容器名]# 停止运行中的容器dockerrestart[容器ID/容器名]# 重启容器

应用示例:停止mynginx容器

dockerstop mynginx

运行结果

mynginx

(执行docker ps可看到容器状态变为Exited

4. 进入容器

命令docker exec -it [容器名/ID] [shell]

dockerexec-it[容器ID/容器名][shell]# 交互式进入容器,如 docker exec -it mynginx bashdockerattach[容器ID/容器名]# 进入容器(退出时可能导致容器停止,慎用)

应用示例:进入mynginx容器的 bash 终端

dockerexec-itmynginxbash

运行结果

root@f4a1b2c3d4e5:/# # 进入容器内部终端,可执行命令如 `ls /usr/share/nginx/html`

5. 删除容器

命令docker rm [容器名/ID](停止状态);docker rm -f [容器名/ID](强制删除运行中容器)
应用示例:强制删除mynginx容器

dockerrm-fmynginx

运行结果

mynginx

6. 查看容器日志

命令docker logs [选项] [容器名/ID]

dockerrm[容器ID/容器名]# 删除已停止的容器dockerrm-f[容器ID/容器名]# 强制删除运行中的容器dockerrm$(dockerps-aq)# 删除所有容器(慎用)

应用示例:实时查看mynginx的日志(需容器运行中)

dockerlogs-fmynginx

运行结果

172.17.0.1 - - [11/Aug/2025:08:00:00 +0000] "GET / HTTP/1.1" 200 615 "-" "curl/7.68.0" "-" # 实时输出访问日志,按 Ctrl+C 退出

7. 查看容器详情

命令docker inspect [容器名/ID]

dockerinspect[容器ID/容器名]# 查看容器的详细配置信息(如IP、挂载等)

应用示例:查看mynginx的详细配置

dockerinspect mynginx

运行结果

[{"Id":"f4a1b2c3d4e5...","Created":"2025-08-11T08:00:00.000000000Z","HostConfig":{"PortBindings":{"80/tcp":[{"HostPort":"8080"}]}},// 更多网络、挂载等详细信息...}]

三、网络管理

1. 查看网络

命令docker network ls
应用示例:列出所有 Docker 网络

dockernetworkls

运行结果

NETWORK ID NAME DRIVER SCOPE a1b2c3d4e5f6 bridge bridge local f6e5d4c3b2a1 host host local

2. 创建网络

命令docker network create [网络名]
应用示例:创建名为my-network的 bridge 网络

dockernetwork create my-network

运行结果

b3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3

3. 连接容器到网络

命令docker network connect [网络名] [容器名]
应用示例:将mynginx连接到my-network

dockernetwork connect my-network mynginx

运行结果:无输出,可通过docker network inspect my-network查看连接的容器。

四、数据卷管理

1. 创建数据卷

命令docker volume create [卷名]
应用示例:创建名为my-volume的数据卷

dockervolume create my-volume

运行结果

my-volume

2. 查看数据卷详情

命令docker volume inspect [卷名]
应用示例:查看my-volume的挂载路径

dockervolume inspect my-volume

运行结果

[{"Driver":"local","Mountpoint":"/var/lib/docker/volumes/my-volume/_data",// 其他信息...}]

3. 删除数据卷

命令docker volume rm [卷名]
应用示例:删除my-volume(需无容器使用)

dockervolumermmy-volume

运行结果

my-volume

五、其他常用命令

1. 查看 Docker 信息

命令docker info
应用示例:查看 Docker 系统状态

dockerinfo

运行结果

Containers: 1 Running: 1 Paused: 0 Stopped: 0 Images: 2 Server Version: 24.0.5 Storage Driver: overlay2 # 更多系统配置信息...

2. 清理未使用资源

命令docker system prune
应用示例:清理未使用的镜像、容器和网络

dockersystem prune

运行结果

WARNING! This will remove: - all stopped containers - all networks not used by at least one container - all dangling images - all dangling build cache Are you sure you want to continue? [y/N] y Deleted Containers: f4a1b2c3d4e5... Total reclaimed space: 123MB

通过docker [命令] --help可查看每个命令的完整参数(例如docker run --help),实际使用时可根据场景调整选项。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询