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

相关推荐
WCL-JAVA17 分钟前
Docker快速安装MongoDB并配置主从同步
mongodb·docker·容器
云上艺旅35 分钟前
K8S学习之基础六十九:Rancher创建svc资源
学习·云原生·容器·kubernetes·rancher
下一秒_待续1 小时前
.Net8项目使用docker、docker-compose部署步骤
docker·容器·.net
mingyuewu3 小时前
MAC环境给docker换源
docker
GodGump4 小时前
dbgpt7.0 docker部署
运维·docker·容器
维度攻城狮6 小时前
实现在Unity3D中仿真汽车,而且还能使用ros2控制
python·unity·docker·汽车·ros2·rviz2
爱编程的王小美11 小时前
Docker基础详解
运维·docker·容器
白夜易寒11 小时前
Docker学习之容器虚拟化与虚拟机的区别(day11)
学习·docker·容器
草药味儿の岁月14 小时前
Docker镜像分层存储原理:UnionFS技术深度解析
运维·docker·容器
Bruce-li__16 小时前
创建私人阿里云docker镜像仓库
阿里云·docker·云计算