
Docker 的帮助启动类命令主要涉及 Docker 服务的启动、停止、重启、查看状态以及设置开机自启动等操作。
systemctl start dockersystemctl 命令来启动服务。systemctl stop dockersystemctl 命令来管理服务的停止。systemctl restart dockersystemctl status dockersystemctl enable dockerdocker infodocker --helpdocker 具体命令 --help--help 选项来查看其详细的帮助文档。这包括命令的语法、选项、示例等,对于深入了解和使用 Docker 命令非常有帮助。综上所述,Docker 的帮助启动类命令主要涉及服务的启动、停止、重启、查看状态以及设置开机自启动等操作,同时提供了查看 Docker 系统概要信息和帮助文档的命令。这些命令是 Docker 用户日常管理和维护 Docker 服务的基本工具。
Docker 的常用镜像命令涵盖了镜像的搜索、拉取(下载)、查看、删除、导出、导入等多个方面。
在Docker中,docker images命令用于列出本地所有的镜像。这个命令是Docker用户日常操作中最常用的命令之一,它可以帮助用户快速查看和管理本地的镜像资源。
docker images [OPTIONS] [REPOSITORY[:TAG]]
-a 或 --all:列出本地所有的镜像(包括中间映像层,默认情况下,会过滤掉中间映像层)。--digests:显示镜像的摘要信息。-f 或 --filter:显示满足条件的镜像。--format:指定返回值的模板文件,用于自定义输出的格式。--no-trunc:显示完整的镜像信息,避免截断。-q 或 --quiet:只显示镜像的ID。latest,代表最新版本。对于使用v2或更高版本格式的镜像,还会有一个DIGEST列,以sha256:开头,这是镜像的摘要信息。摘要信息是一个内容可寻址标识符,只要生成镜像的输入保持不变,摘要值就是可预测的。
假设执行docker images命令,输出可能如下(示例内容,实际输出会根据本地镜像情况有所不同):
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest 1d622ef86b13 2 weeks ago 64.2MB
nginx latest f09fe80ddb0f 3 weeks ago 133MB
hello-world latest fce289e99eb9 4 months ago 1.84kB这个列表显示了本地存储的三个镜像:ubuntu、nginx和hello-world,包括它们的标签、镜像ID、创建时间和大小。
docker rmi命令,并指定镜像的ID或名称及标签。综上所述,docker images命令是Docker中用于列出本地镜像的基本且重要的命令,通过它用户可以方便地查看和管理本地镜像资源。
docker search [OPTIONS] TERMdocker search nginx,将搜索所有与nginx相关的镜像。docker pull [OPTIONS] NAME[:TAG|@DIGEST]docker pull nginx:latest,将下载最新版本的nginx镜像。docker images [OPTIONS] [REPOSITORY[:TAG]]docker images,列出所有本地镜像。docker rmi [OPTIONS] IMAGE [IMAGE...]docker rmi nginx:latest,将删除最新版本的nginx镜像。docker save [OPTIONS] IMAGE [IMAGE...] > FILE.tardocker save -o nginx.tar nginx:latest,将最新版本的nginx镜像保存为nginx.tar文件。docker load [OPTIONS] < FILE.tar 或 docker load [OPTIONS] --input FILE.tardocker load -i nginx.tar 或 docker load < nginx.tar,将从nginx.tar文件中加载镜像。docker inspect [OPTIONS] NAME|ID [NAME|ID...],用于获取镜像的详细信息,如创建时间、大小、配置等。docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG],用于给镜像添加新的标签,便于管理和引用。以上命令是Docker镜像管理的常用命令,通过它们可以方便地进行镜像的搜索、下载、查看、删除、导出和导入等操作。
Docker虚悬镜像(dangling image)是指在Docker环境中存在的一种特殊镜像,它们已经被创建,但当前没有被任何容器所引用,同时也没有被赋予明确的仓库名和标签。这种镜像通常是在构建或删除镜像的过程中,由于某些原因(如构建取消、构建失败或删除操作未完全清理)而产生的。
<none>的仓库名和<none>的标签。要查看Docker中的虚悬镜像,可以使用以下命令:
docker images -f "dangling=true"或者,你也可以使用-a或--all参数来查看所有镜像(包括虚悬镜像),但这样可能会列出更多的信息,需要手动筛选:
docker images -a在输出中,你可以找到仓库名和标签都是<none>的镜像,它们就是虚悬镜像。
清理虚悬镜像以释放磁盘空间是一个好习惯。你可以使用以下命令来删除所有虚悬镜像:
docker image prune执行该命令后,Docker会列出所有将被删除的虚悬镜像,并询问你是否确认删除。如果你确认要删除,输入y并按回车键即可。
另外,如果你知道某个特定虚悬镜像的ID,也可以直接使用docker rmi命令来删除它,但需要注意的是,这样做需要小心谨慎,以免误删其他重要镜像。
Docker虚悬镜像是Docker环境中一种特殊的镜像状态,它们没有被任何容器所引用且没有明确的仓库名和标签。定期清理虚悬镜像是一种良好的Docker环境维护习惯,可以帮助释放磁盘空间并减少环境复杂性。通过docker images -f "dangling=true"命令可以查看虚悬镜像,而docker image prune命令则用于删除所有虚悬镜像。
Docker 的常用容器命令涵盖了容器的创建、启动、停止、删除、查看、日志管理等多个方面。以下是一些常用的 Docker 容器命令及其说明:
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]--name="容器名":指定容器名,不指定就随机-d:后台运行容器,并返回容器ID。-i:以交互模式运行容器,通常与 -t 同时使用。-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用。-P:随机端口映射,将容器内部使用的网络端口映射到主机上。-p:指定端口映射,格式为 ip:hostPort:containerPort 或 hostPort:containerPort。-v:挂载宿主机的目录到容器的指定目录。docker run -it --name="" IMAGE bash:启动交互式容器docker run -d --name="" IMAGE bash:启动守护式容器exit: run 进去容器, exit 退出,容器停止docker ps:列出当前正在运行的容器。-a 或 --all:列出所有容器(包括未运行的)。-l 或 --latest:仅显示最新创建的容器(包括未运行的,如果指定了 -a)。-n <num>:显示最新创建的 个容器。-q 或 --quiet:仅显示容器 ID。--size:显示容器的大小。--filter:根据提供的条件过滤输出。docker stop 容器ID或容器名docker kill 容器ID或容器名docker start 容器ID或容器名docker restart 容器ID或容器名docker rm 容器ID或容器名docker rm -f 容器ID或容器名docker rm -f $(docker ps -aq)docker ps -a -q | xargs docker rmdocker exec -it 容器ID或容器名 /bin/bash(或 /bin/sh,取决于容器内的shell)docker attach 容器ID或容器名docker attach 退出容器时(如使用 exit 命令),容器也会停止。因此,更推荐使用 docker exec。docker exec 与 docker attach 的区别Docker Exec 与 Docker Attach 是Docker 管理容器时常用的两个命令,它们在功能和用法上存在显著差异。以下是这两个命令的主要区别:
-i(或--interactive)选项可以保持标准输入打开,允许用户与命令交互;-t(或--tty)选项可以分配一个伪终端。exit命令来退出容器内的shell,但这不会影响容器的运行状态。exit命令,则可能会退出容器的主进程,导致容器停止运行(这取决于容器的启动命令和配置)。综上所述,Docker Exec和Docker Attach在功能和用法上存在明显的差异,用户应根据具体的需求和场景来选择合适的命令。
docker logs 容器ID或容器名docker logs -f 容器ID或容器名Docker容器导出主要使用docker export命令,该命令将容器的文件系统内容导出为一个tar归档文件。但请注意,导出的内容不包括容器的配置、端口映射、网络设置等元数据信息。
导出步骤:
停止容器(如果容器正在运行):
docker stop <container_name_or_id>这一步是可选的,但建议在进行导出前停止容器,以确保导出的是一致性的文件系统状态。
使用docker export命令导出容器:
docker export <container_name_or_id> > <output_tar_file.tar>或者,你也可以通过管道直接输出到文件:
docker export <container_name_or_id> | gzip > <output_tar_file.tar.gz>这样可以压缩导出的文件,便于传输和存储。
Docker容器导入主要使用docker import命令,但需要注意的是,docker import实际上是将导出的tar文件作为新的镜像的根文件系统来创建一个新的镜像,而不是直接恢复为一个容器。因此,导入后你需要基于这个新镜像来启动一个新的容器。
导入步骤:
使用docker import命令导入tar文件:
docker import <input_tar_file.tar> <repository:tag>例如:
docker import mycontainer.tar myrepo/myimage:latest这将创建一个新的镜像myrepo/myimage:latest,其根文件系统来自mycontainer.tar文件。
基于新镜像启动容器:
docker run -d --name <new_container_name> <repository:tag>例如:
docker run -d --name my_new_container myrepo/myimage:latestdocker save和docker load命令来保存和加载镜像,或者使用Docker Compose来管理多容器应用。docker import命令中被视为新的镜像的根文件系统,因此你可以为导入的镜像指定新的仓库名、标签等信息。综上所述,Docker的容器导入导出功能主要用于迁移容器内部的数据状态,而不是整个容器及其配置。在实际应用中,应根据具体需求选择合适的方法。
docker rename 旧容器名 新容器名docker inspect 容器ID或容器名docker cp 宿主机路径 容器ID或容器名:容器内路径docker cp 容器ID或容器名:容器内路径 宿主机路径docker top 容器ID或容器名这些命令是 Docker 容器管理的基础,通过它们可以方便地对容器进行创建、管理、维护和调试。