Docker 常用命令(含应用示例与运行结果)

发布时间:2026/7/17 13:58:23

Docker 常用命令(含应用示例与运行结果) 个人主页编程的一拳超人⛺️ 欢迎关注点赞 留言 收藏 于高山之巅方见大河奔涌于群峰之上更觉长风浩荡。 ——《人民日报》一、镜像管理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.042. 查看本地镜像命令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 141MB3. 删除镜像命令docker rmi [镜像ID/镜像名]dockerrmi[镜像ID/镜像名]# 删除指定镜像需先停止依赖该镜像的容器dockerrmi$(dockerimages-q)# 删除所有本地镜像慎用应用示例删除 Ubuntu 20.04 镜像需先停止依赖它的容器dockerrmi ubuntu:20.04运行结果Untagged: ubuntu:20.04 Untagged: ubuntusha256: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.05. 标记镜像命令docker tag [原镜像] [新镜像名:新标签]dockertag[原镜像名:标签][新镜像名:新标签]# 常用于给镜像打版本或推送至仓库应用示例给myapp:1.0标记为仓库推送格式dockertag myapp:1.0 myrepo/myapp:1.0运行结果无输出可通过docker images查看标记后的镜像。6. 推送镜像到仓库命令docker push [仓库地址/镜像名]:[标签]dockerpush[仓库地址/镜像名]:[标签]# 需先登录仓库docker login应用示例推送镜像到个人仓库需先docker logindockerpush 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[容器名]# 指定容器名称-eKEYVALUE# 设置环境变量--rm# 容器退出后自动删除--link[其他容器名]# 链接到其他容器已逐步被网络替代应用示例后台启动 Nginx 容器映射主机 8080 端口到容器 80 端口命名为mynginxdockerrun-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 mynginx3. 启动/停止/重启容器命令docker start/stop/restart [容器名/ID]dockerstart[容器ID/容器名]# 启动已停止的容器dockerstop[容器ID/容器名]# 停止运行中的容器dockerrestart[容器ID/容器名]# 重启容器应用示例停止mynginx容器dockerstop mynginx运行结果mynginx执行docker ps可看到容器状态变为Exited4. 进入容器命令docker exec -it [容器名/ID] [shell]dockerexec-it[容器ID/容器名][shell]# 交互式进入容器如 docker exec -it mynginx bashdockerattach[容器ID/容器名]# 进入容器退出时可能导致容器停止慎用应用示例进入mynginx容器的 bash 终端dockerexec-itmynginxbash运行结果rootf4a1b2c3d4e5:/# # 进入容器内部终端可执行命令如 ls /usr/share/nginx/html5. 删除容器命令docker rm [容器名/ID]停止状态docker rm -f [容器名/ID]强制删除运行中容器应用示例强制删除mynginx容器dockerrm-fmynginx运行结果mynginx6. 查看容器日志命令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 - # 实时输出访问日志按 CtrlC 退出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 local2. 创建网络命令docker network create [网络名]应用示例创建名为my-network的 bridge 网络dockernetwork create my-network运行结果b3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f33. 连接容器到网络命令docker network connect [网络名] [容器名]应用示例将mynginx连接到my-networkdockernetwork connect my-network mynginx运行结果无输出可通过docker network inspect my-network查看连接的容器。四、数据卷管理1. 创建数据卷命令docker volume create [卷名]应用示例创建名为my-volume的数据卷dockervolume create my-volume运行结果my-volume2. 查看数据卷详情命令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实际使用时可根据场景调整选项。

相关新闻