Docker是什么以及docker的常用命令

Docker是一种开源容器化平台,用于构建、部署和运行应用。它提供环境一致性,资源隔离,并通过轻量级容器实现快速部署和扩展。核心概念包括容器、镜像和Docker引擎。常用命令涉及镜像管理和容器生命周期。Docker与虚拟机相比,更轻量级且专注于操作系统层虚拟化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Docker简介

Docker是一种开源的容器化平台,用于构建、部署和运行应用程序。它允许开发人员将应用程序及其所有依赖项打包到一个称为"容器"的独立单元中。这个容器可以在任何支持Docker的环境中运行,无论是开发人员的本地机器、虚拟机还是云服务器。

docker核心概念

  1. 容器:容器是Docker的核心概念,它是一个轻量级、可移植的运行环境,包含了应用程序的代码、运行时环境和所有依赖项。容器与操作系统的隔离机制相结合,使得应用程序可以在不同的环境中以相同的方式运行。
  2. 镜像镜像是用于创建容器的模板。它包含了一个完整的文件系统,其中包含了运行应用程序所需的所有内容:代码、运行时环境、库、依赖项等等。镜像是只读的,通过镜像可以创建多个容器实例。
  3. Docker引擎Docker引擎是Docker的核心组件,负责构建、运行和管理容器。它包括了Docker守护进程、客户端工具和REST API。Docker守护进程在主机上运行,并管理容器的生命周期。
  4. Docker仓库:Docker仓库是存储和分享镜像的中央注册表。它包括了官方仓库Docker Hub,以及其他公共和私有的仓库。开发人员可以将自己的镜像推送到仓库中,并从仓库中拉取镜像到本地使用。

Docker的好处

  • 环境一致性:容器提供了一种可重复、可移植的部署方式,确保应用程序在不同环境中的一致性,避免了“在我机器上运行没问题”的问题。
  • 资源隔离:容器与宿主机之间具有良好的隔离性,一个容器的问题不会影响其他容器或宿主机的稳定性。
  • 快速部署和扩展:由于容器的轻量级特性,可以快速启动、停止和重启容器,同时可以方便地进行横向扩展,增加容器实例来应对高负载需求。
  • 灵活性:Docker允许开发人员使用不同的编程语言、框架和工具来构建应用程序,并且可以轻松切换和组合各种组件。

Docker 常用命令

镜像命令
  1. docker pull:从Docker仓库中拉取镜像到本地。 示例:拉取一个名为"ubuntu"的Ubuntu Linux镜像到本地

    Copy code
    docker pull ubuntu
    
  2. docker images:列出本地已下载的所有镜像。 示例:列出本地所有镜像

    Copy code
    docker images
    
  3. docker rmi:删除本地一个或多个镜像。 示例:删除名为"ubuntu"的Ubuntu Linux镜像

    Copy code
    docker rmi ubuntu
    
容器命令
  1. docker run:创建并启动一个新的容器。 示例:在后台运行一个名为"my_container"的Nginx容器,将主机的80端口映射到容器的80端口

    cssCopy code
    docker run -d --name my_container -p 80:80 nginx
    
  2. docker ps:列出当前正在运行的容器。 示例:列出所有正在运行的容器

    Copy code
    docker ps
    
  3. docker ps -a:列出所有容器,包括正在运行和已停止的。 示例:列出所有容器(包括已停止的)

    cssCopy code
    docker ps -a
    
  4. docker start:启动一个已停止的容器。 示例:启动名为"my_container"的容器

    sqlCopy code
    docker start my_container
    
  5. docker stop:停止一个正在运行的容器。 示例:停止名为"my_container"的容器

    arduinoCopy code
    docker stop my_container
    
  6. docker restart:重启一个正在运行的容器。 示例:重启名为"my_container"的容器

    Copy code
    docker restart my_container
    
  7. docker rm:删除一个或多个容器。 示例:删除名为"my_container"的容器

    bashCopy code
    docker rm my_container
    
其他常用命令
  1. docker exec:在运行中的容器内执行命令。 示例:在名为"my_container"的容器内执行一个bash命令

    bashCopy code
    docker exec -it my_container bash
    
  2. docker logs:查看容器的日志输出。 示例:查看名为"my_container"的容器的日志输出

    Copy code
    docker logs my_container
    
  3. docker inspect:查看容器或镜像的详细信息。 示例:查看名为"my_container"的容器的详细信息

    Copy code
    docker inspect my_container
    

这些是一些常用的Docker命令,用于管理镜像、容器和其他相关资源。通过这些命令,可以轻松地创建

Docker容器虚拟化和传统虚拟机的比较

容器就是将软件打包成标准单元,以便于开发交付和部署

  • 容器镜像是轻量级的,可执行的独立软件包,包含软件运行所需要的所有内容:代码,运行时环境,系统工具,系统库和设置等
  • 容器化软件在任何环境中都能始终如一的运行
  • 容器赋予了软件独立性,使其免受外在的环境差异的影响,从而有助与减少团队间在相同基础设施上运行不同软件时的冲突

在这里插入图片描述

相同点:

  • 容器和虚拟机都具有相似的资源隔离和分配优势

不同点:

  • 容器虚拟化是操作系统,虚拟机虚拟化的是硬件
  • 传统虚拟机可以运行不同的操作系统,容器只能运行同一类型操作系统

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

皮卡丘不断更

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值