干货 | 一文搞定 Docker 容器技术与常用命令

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
简介: 干货 | 一文搞定 Docker 容器技术与常用命令

1080×409 36.5 KB


Docker 是一个开源的应用容器引擎,基于 Go 语言开发,Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的系统。

Docker 是世界领先的软件容器平台,Docker 官方的口号是”调试你的应用,而不是调试环境“。在进行多人协作开发时,开发者可以使用 Docker 来消除所谓“我这里运行是好的”(works on my machine)问题,运维人员使用 Docker 来并行的运行和管理应用来获得更优计算密度,基于各自独立的容器,不会因为环境原因导致应用运行错误。

如下图所示,在工作当中,如果我们面对这样多的服务、多个服务器,以及多种环境,我们应该如何处理呢?如果还继续用传统的方式打包部署,我们会浪费多少时间?

1062×591 81.2 KB


所以在 Docker 横空出世之前,应用打包一直是大部分研发团队的痛点,在 Docker 出现后,它以更高效的利用系统资源、更高效的利用系统资源、一致的运行环境、持续交付和部署、更轻松的迁移、更轻松的维护和拓展,6大优点迅速火了起来。

  • 镜像(Image)
    是一个包含有文件系统的面向 Docker 引擎的只读模板。任何应用程序运行都需要环境,而镜像就是用来提供这种运行环境的。例如一个 Ubuntu 镜像就是一个包含 Ubuntu 操作系统环境的模板。
  • 容器(Container)
    类似于一个轻量级的沙盒,可以将其看作一个极简的 Linux 系统环境(包括 root 权限、进程空间、用户空间和网络空间等),以及运行在其中的应用程序。Docker 引擎利用容器来运行、隔离各个应用。
    容器是镜像创建的应用实例,可以创建、启动、停止、删除容器,各个容器之间是是相互隔离的,互不影响。
    注意:镜像本身是只读的,容器从镜像启动时,Docker 在镜像的上层创建一个可写层,镜像本身不变。
  • 仓库(Repository)
    镜像仓库,是 Docker 用来集中存放镜像文件的地方。
    Docker 是开源的商业产品,有两种版本:社区版(Community Edition,缩写为 CE)和企业版(Enterprise Edition,缩写为 EE)。企业版包含了一些收费服务,一般用不到。我们下面将会演示 Docker CE 版本的使用方法。
    Docker 支持很多操作系统平台,有大家常用的 Microsoft Windows 系列操作系统(Docker 不支持 Windows 10 家庭版系统),Linux 发行版和 MacOS 系统。
  • Windows 系统安装方法
    Windows 上有两种安装 Docker 方式:
    第一种:访问 Docker 网站下载 Docker Desktop 软件的 exe 文件,下载地址:https://download.docker.com/win/stable/Docker%20Desktop%20Installer.exe
    第二种:使用 Chocolatey 包管理工具安装 Docker。(包管理工具需自行下载安装)
  • Linux 发行版 Ubuntu 系统安装方法
    1.切换到管理员权限
    2.安装必要的一些系统工具
    3.安装 GPG 证书
    4.写入软件源信息
    5.更新并安装 Docker-CE
  • Linux 发行版 CentOS 系统安装方法
    1.切换到管理员权限
    2.安装必要的一些系统工具
    3.添加软件源信息
    4.更新并安装 Docker-CE
  • macOS 操作系统安装 Docker 方法
    macOS 上有两种安装 Docker 方式:
    第一种:访问 Docker 网站下载 Docker Desktop 的 dmg 安装包,下载地址:https://download.docker.com/mac/stable/Docker.dmg
    第二种:使用包管理工具方式来安装 Docker,使用 Homebrew 工具安装 Docker。(包管理工具需自行下载安装)
  • 启动 Docker
  • 重新启动 Docker
  • 开机时自动启动 Docker

    1080×410 47.1 KB


    1080×609 79.3 KB
  • 查看所有镜像
  • REPOSITORY:镜像来自哪个仓库
  • TAG:镜像的标签信息,版本之类的信息
  • IMAGE ID:镜像创建时的id
  • CREATED:镜像创建的时间
  • SIZE:镜像文件大小
  • 下载软件镜像
  • 导出镜像
  • 删除镜像
  • 导入镜像
  • 更改镜像名
  • 运行容器
  • 查看运行的容器
  • 查看所有容器
  • 启动容器
  • 重新启动容器
  • 停止容器
  • 杀死容器
  • 删除运行中的容器
  • 执行容器内命令
  • 复制容器内文件
  • 查看容器日志
  • 思寒漫谈测试人职业发展
  • 干货 | 资深测试专家(前阿里P8)聊测试人职业发展常见瓶颈

原文链接

更多技术文章

相关文章
|
9天前
|
NoSQL 关系型数据库 Redis
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
mall在linux环境下的部署(基于Docker容器),docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongodb、minio详细教程,拉取镜像、运行容器
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
|
9天前
|
NoSQL 应用服务中间件 Redis
Docker跨宿主机容器通信-通过网络跨宿主机互联
这篇文章介绍了Docker容器跨宿主机通信的实现方法,包括Docker的四种网络模式(host、none、container、bridge)以及如何通过修改网络配置和添加路由规则来实现不同宿主机上的容器之间的互联。
25 0
Docker跨宿主机容器通信-通过网络跨宿主机互联
|
1天前
|
持续交付 开发者 Docker
掌握 Docker:容器化技术在现代开发中的应用
Docker 是一个开源容器化平台,使开发者能够将应用程序及其依赖项封装在轻量级容器中,确保跨平台的一致性。本文介绍了 Docker 的基本概念、核心组件及优势,并展示了其在快速部署、一致性、可移植性和微服务架构中的应用。通过示例说明了 Docker 在本地开发环境搭建、服务依赖管理和 CI/CD 流程中的作用,以及多阶段构建、资源限制和网络模式等高级特性。掌握 Docker 可大幅提升开发效率和应用管理能力。
|
7天前
|
运维 安全 开发者
Docker容器技术
Docker容器技术
28 6
|
7天前
|
Cloud Native 持续交付 Docker
云原生技术实践:Docker容器化部署教程
【9月更文挑战第4天】本文将引导你了解如何利用Docker这一云原生技术的核心工具,实现应用的容器化部署。文章不仅提供了详细的步骤和代码示例,还深入探讨了云原生技术背后的哲学,帮助你理解为何容器化在现代软件开发中变得如此重要,并指导你如何在实际操作中运用这些知识。
|
7天前
|
负载均衡 大数据 测试技术
docker容器技术有哪些应用场景?
docker容器技术有哪些应用场景?
19 5
|
6天前
|
存储 Docker 容器
docker save命令和load命令
docker save命令和load命令
|
7天前
|
Kubernetes Cloud Native Docker
云原生技术:容器化与微服务架构的融合之道
【9月更文挑战第4天】在数字化时代的浪潮下,企业追求敏捷、高效、可扩展的IT架构成为共识。云原生技术作为现代软件部署的黄金标准,其核心理念在于推动应用的快速迭代与无缝迁移。本文将深入探讨云原生技术的精髓——容器化与微服务架构如何相互促进,共同构建起适应云计算环境的应用生态系统。我们将通过实际案例,揭示如何在云平台上利用这些技术实现服务的解耦、弹性伸缩及自动化管理,进而提升企业的竞争力。
|
关系型数据库 MySQL 应用服务中间件
docker 常用命令总结
docker 常用命令总结
|
Docker 容器
docker常用命令总结大全
docker常用命令总结大全
149 0