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 容器的生命周期、状态和配置等信息。

相关推荐
芥子沫3 小时前
日记应用推荐-Docker安装DailyNotes应用
docker·容器·日记
2501_9418814010 小时前
Kubernetes 容器集群资源调度与弹性扩容高可用架构在互联网业务实战经验总结
云原生·容器·kubernetes
究極の法則に通じた野犬10 小时前
k8s设计理念-k8s中哪些服务要部署成StatefulSet哪些部署成Deployment
云原生·容器·kubernetes
wuxingge10 小时前
k8s集群误删node节点,怎么添加回去
云原生·容器·kubernetes
贝锐11 小时前
Docker部署Teemii本地漫画库,并通过花生壳内网穿透实现远程访问
docker
观测云14 小时前
Kubernetes CRD 方式配置容器日志采集最佳实践
容器·kubernetes·日志分析
i***220715 小时前
springboot整合libreoffice(两种方式,使用本地和远程的libreoffice);docker中同时部署应用和libreoffice
spring boot·后端·docker
羑悻的小杀马特17 小时前
轻量跨云·掌控无界:Portainer CE + cpolar 让远程容器运维像点外卖一样简单——免复杂配置,安全直达对应集群
运维·网络·安全·docker·cpolar
EAIReport1 天前
企业级报表自动化:基于Docker的部署实践
运维·docker·自动化
tianyuanwo1 天前
多平台容器化RPM构建流水线全指南:Fedora、CentOS与Anolis OS
linux·运维·容器·centos·rpm