Docker的基础概念及命令

这篇主要介绍一下Docker比较重要的两个概念,镜像和容器,以及操作它们的一些常用命令。

文章目录

一、基础命令

docker -v :查看 Docker 的版本

systemctl start docker:启动docker

systemctl status docker :查看docker服务状态

二、镜像

镜像(Image) :Docker将应用程序及其所需的依赖、函数库、环境、配置等文件打包在一起,称为镜像。

镜像名称一般分两部分组成:[repository]:[tag]。

在没有指定tag时,默认是latest,代表最新版本的镜像

docker images:该命令用于列出本地主机上的所有 Docker 镜像。它会显示每个镜像的仓库名、标签、镜像 ID 和大小等信息。

docker rmi:该命令用于删除本地主机上的一个或多个 Docker 镜像。需要指定要删除的镜像的镜像 ID 或仓库名和标签。

docker pull [镜像名称]:该命令用于从远程仓库下载或更新一个 Docker 镜像到本地主机。需要指定要拉取的镜像的完整名称,包括仓库名和标签。

docker push:该命令用于将本地主机上的一个 Docker 镜像推送到远程仓库。需要指定要推送的镜像的完整名称,包括仓库名和标签。

docker save:该命令用于将一个或多个 Docker 镜像保存为一个或多个 tar 归档文件。这些归档文件可以用于备份、传输或在其他机器上加载镜像。需要指定要保存的镜像的镜像 ID 或仓库名和标签,以及保存的文件路径。

参数:

:要保存的镜像的名称或 ID。

-o,--output:指定保存的文件路径和文件名。

示例:

docker save -o /path/to/save/image.tar image_name

docker load :该命令用于加载一个或多个 Docker 镜像的 tar 归档文件。这些归档文件通常是由 docker save 命令生成的。加载后,镜像可以在本地主机上使用。需要指定要加载的 tar 归档文件的路径。

参数:-i,--input:指定要加载的 tar 归档文件的路径。

示例:

docker load -i /path/to/image.tar

三、容器

容器(Container):镜像中的应用程序运行后形成的进程就是容器,只是Docker会给容器做隔离,对外不可见。镜像运行起来就是容器,一个镜像可以运行多个容器

Docker 容器的命令包括但不限于以下几类:

  1. 生命周期管理命令:

    • docker create:创建一个新的容器但不启动它。
    • docker start [容器ID或容器名称]:启动一个或多个已经存在的容器。
    • docker stop [容器ID或容器名称]:停止一个或多个正在运行的容器。
    • docker restart:重启一个或多个容器。
    • docker pause:暂停一个或多个容器的所有进程。
    • docker unpause:恢复一个或多个容器的所有进程。
    • docker run [选项] [镜像名称] [启动命令]:恢复一个或多个容器的所有进程。
  2. 信息查询命令:

    • docker ps:列出当前正在运行的容器。
    • docker ps -a:列出所有的容器,包括运行中和已停止的。
    • docker inspect:查看容器的详细信息,包括配置、状态、网络等。
    • docker logs:查看容器的日志输出。
  3. 删除和清理命令:

    • docker rm [容器ID或容器名称]:删除一个或多个已经停止的容器。
    • docker kill:强制停止一个或多个运行中的容器。
    • docker container prune:清理掉所有已经停止的容器。
  4. 执行命令:

    • docker exec:在运行中的容器中执行命令。
    • docker attach:连接到正在运行的容器并进入其标准输入/输出流。
  5. 导出和导入命令:

    • docker export:将容器文件系统导出为一个 tar 归档文件。
    • docker import:从 tar 归档文件中创建一个新的文件系统映像。

这些是常见的 Docker 容器管理命令,您可以使用它们来管理和操作 Docker 容器的生命周期、状态和配置等信息。

相关推荐
昌sit!2 小时前
K8S node节点没有相应的pod镜像运行故障处理办法
云原生·容器·kubernetes
追风林3 小时前
mac 本地docker-mysql主从复制部署
mysql·macos·docker
A ?Charis5 小时前
Gitlab-runner running on Kubernetes - hostAliases
容器·kubernetes·gitlab
城南vision5 小时前
Docker学习—Docker核心概念总结
java·学习·docker
wclass-zhengge5 小时前
Docker篇(Docker Compose)
运维·docker·容器
北漂IT民工_程序员_ZG6 小时前
k8s集群安装(minikube)
云原生·容器·kubernetes
梦魇梦狸º9 小时前
腾讯轻量云服务器docker拉取不到镜像的问题:拉取超时
docker·容器·github
鬼才血脉9 小时前
docker+mysql配置
mysql·adb·docker
詹姆斯爱研究Java10 小时前
Docker 的基本概念和优势
docker
南猿北者11 小时前
docker镜像仓库常用命令
运维·docker·容器