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

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 干货 | 一文搞定 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)聊测试人职业发展常见瓶颈

原文链接

更多技术文章

相关文章
|
3天前
|
弹性计算 运维 持续交付
探索Docker容器化技术及其在生产环境中的应用
探索Docker容器化技术及其在生产环境中的应用
21 5
|
4天前
|
运维 Docker 微服务
掌握 Docker Compose:简化你的多容器应用部署
在微服务架构和容器化技术普及的今天,管理多容器部署变得颇具挑战。Docker Compose 通过一个 YAML 文件定义和运行多容器应用,简化了部署和运维。本文介绍其基本概念、使用方法及优势,包括服务、项目、卷和网络等核心概念,并提供从安装到管理服务的详细步骤,助你轻松掌握 Docker Compose,提高开发效率和应用运维质量。
|
2天前
|
Kubernetes Cloud Native Docker
云原生技术之旅:从容器到微服务
【9月更文挑战第14天】随着云计算的蓬勃发展,云原生技术已成为现代软件开发的重要组成部分。本文将深入探讨云原生的核心概念,包括容器化、微服务架构以及它们如何共同推动企业快速创新。通过实际案例,我们将展示如何利用Kubernetes和Docker等工具构建和管理高效的云原生应用。无论你是初学者还是经验丰富的开发者,这篇文章都将为你提供宝贵的知识和技能,帮助你在云原生时代乘风破浪。
11 5
|
4天前
|
Cloud Native 持续交付 Docker
探索Docker容器化技术及其在软件开发中的应用
探索Docker容器化技术及其在软件开发中的应用
16 7
|
4天前
|
存储 虚拟化 开发者
深入理解Docker容器化技术
深入理解Docker容器化技术
26 6
|
1天前
|
Prometheus 监控 Cloud Native
docker安装prometheus+Granfan并监控容器
【9月更文挑战第14天】本文介绍了在Docker中安装Prometheus与Grafana并监控容器的步骤,包括创建配置文件、运行Prometheus与Grafana容器,以及在Grafana中配置数据源和创建监控仪表盘,展示了如何通过Prometheus抓取数据并利用Grafana展示容器的CPU使用率等关键指标。
|
3天前
|
Cloud Native 持续交付 Docker
探索容器化技术Docker的奥秘
探索容器化技术Docker的奥秘
16 3
|
19天前
|
Cloud Native 持续交付 Docker
云原生之旅:Docker容器化实战指南
【8月更文挑战第29天】本文将引领你进入云原生技术的世界,以Docker容器化为切入点,深入浅出地介绍如何利用Docker进行应用的打包、部署及管理。我们将通过实际代码示例,一步步展示Docker镜像的构建过程,以及如何运行和管理这些容器。无论你是初学者还是有一定经验的开发者,都能从中获得宝贵的知识和实操经验。
|
14天前
|
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
|
14天前
|
应用服务中间件 nginx Docker
Docker同一台宿主机容器通信-通过容器名称互联
本文详细介绍了如何通过容器名称实现同一宿主机上容器间的互联,并提供了实战案例。首先,文章解释了容器间通过自定义名称访问的原理,随后演示了创建并连接Tomcat与Nginx容器的具体步骤。此外,还讨论了配置中可能出现的问题及解决方案,包括避免硬编码IP地址和使用自定义容器别名来增强系统的灵活性与可维护性。通过这些实践,展示了如何高效地配置容器间通信,确保服务稳定可靠。
21 1
Docker同一台宿主机容器通信-通过容器名称互联