«

Docker 常用命令详解

佛系猫 发布于 阅读:12 Docker


Docker 是一个强大的容器化平台,广泛用于开发、测试和生产环境。通过 Docker 命令行工具(CLI),我们可以轻松管理容器、镜像、网络和卷等资源。

在开始之前,确保你已经安装了 Docker(可以通过 docker --version 检查版本)。本文假设你对 Docker 的基本概念(如容器、镜像等)有一定了解。如果你是新手,别担心,我会尽量用通俗的语言解释每个命令。

一、 镜像管理相关的命令

Docker 镜像是容器的基础。

拉取镜像
docker pull [镜像名称]:[标签]
如果不指定标签,默认拉取 latest 版本
列出本地所有镜像
docker images
-a: 显示所有镜像(包括中间层镜像)
-q: 只显示镜像 ID
根据 Dockerfile 构建镜像
docker build -t [镜像名称]:[标签] [Dockerfile路径]

示例:
docker build -t myapp:1.0 .
-t 指定镜像名称和标签
. 表示使用当前目录下的 Dockerfile
删除本地镜像
docker rmi [镜像名称或ID]
-f: 强制删除,即使镜像正在被容器使用。

二、 容器管理命令

容器是 Docker 的核心。

创建并运行新容器
docker run [选项] [镜像名称] [命令]
-d: 后台运行
-p [主机端口]:[容器端口]: 端口映射
--name: 指定容器名称
-it: 交互式运行(常用于启动 shell)
列出正在运行的容器
docker ps
-a: 显示所有容器(包括停止的)
-q: 只显示容器 ID
停止运行中的容器
docker stop [容器名称或ID]
启动已停止的容器
docker start [容器名称或ID]
重启容器
docker restart [容器名称或ID]
删除容器
docker rm [容器名称或ID]
-f: 强制删除正在运行的容器。
在运行中的容器内执行命令
docker exec [选项] [容器名称或ID] [命令]

示例:
docker exec -it my-nginx bash
-it 表示交互式终端,进入容器内的 bash 环境
查看容器日志
docker logs [容器名称或ID]

三、 网络管理和存储相关命令

列出所有网络
docker network ls
创建一个新的网络
docker network create [网络名称]
将容器连接到指定网络
docker network connect [网络名称] [容器名称或ID]
列出所有卷
docker volume ls
创建新的卷
docker volume create [卷名称]
运行容器时挂载卷或目录
docker run -v [主机路径或卷名称]:[容器路径] [镜像名称]

四、 实用组合命令

清理无用资源
docker system prune
查看容器资源使用情况
docker stats
批量删除容器
docker rm -f $(docker ps -aq)
为现有镜像添加标签
docker tag [源镜像] [新镜像名称]:[新标签]
推送到远程仓库
docker push [镜像名称]:[标签]
查看容器内运行的进程
docker top [容器ID或名称]
重命名容器
docker rename [旧名称] [新名称]
在主机和容器之间复制文件或目录
docker cp [源路径] [目标路径]

主机 → 容器:
docker cp ./myfile.txt my-nginx:/app/

容器 → 主机:
docker cp my-nginx:/app/myfile.txt ./
将一个或多个镜像保存为 tar 文件
docker save -o [输出文件] [镜像名称]
从 tar 文件加载镜像
docker load -i [输入文件]
将容器的当前状态保存为一个新镜像

启动一个容器

docker run -it [镜像名称] /bin/bash

安装vim 然后进行修改代码

apt update && apt install -y vim

将一个容器的当前状态保存为一个新的镜像

docker commit [运行的容器ID] [新的镜像名称]
停止并删除所有容器
docker stop $(docker ps -aq) && docker rm $(docker ps -aq)
删除所有未使用的镜像
docker rmi $(docker images -q)
提取镜像的目录到本地

  1. 创建临时容器(不启动)
    docker create --name temp_container [当前镜像的ID]

  2. 只提取 /src 目录到主机当前目录下的 src_files 文件夹
    docker cp temp_container:/src ./src_files

  3. 删除临时容器
    docker rm -f temp_container

四、 总结
以上是 Docker 的常用命令及其详细用法,涵盖了镜像管理、容器操作、网络配置和存储管理以及常用命令等方面。通过熟练掌握这些命令,你可以轻松构建、运行和管理容器化应用。建议在实际操作中多加练习,并结合官方文档(docker help 或 Docker 官网)深入学习。


扫描二维码,在手机上阅读