01 Docker实战之概念理解及环境准备

简介: 01 Docker实战之概念理解及环境准备

什么是Docker

Docker 包括三个基本概念,理解了这三个概念,就理解了 Docker 的整个生命周期。


  1. 「镜像(Image)」

Docker 镜像 是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。镜像 不包含 任何动态数据,其内容在构建之后也不会被改变。


  1. 「容器(Container)」

容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。


  1. 「仓库(Repository)」

一个集中的存储、分发镜像的服务,Docker Registry 就是这样的服务。一个 Docker Registry 中可以包含多个 仓库(Repository);每个仓库可以包含多个 标签(Tag);每个标签对应一个镜像。


前提条件

在讲解Docker在测试中的应用之前,先简单给大家介绍一下如何使用Docker部署一个服务。

假设你的服务器已经部署安装了Docker服务。(安装部署比较简单,各位小伙伴可以自行进行操作。)

  • 安装docker
https://docs.docker.com/get-docker/


部署步骤

  1. 将工程代码clone到服务器;
git clone https://test.git
  1. 在工程目录新建一个Dockerfile文件,内容如下:
# 基于某个基础Docker镜像进行运行,如下的镜像已经包含了nginx+lua的环境
FROM docker-reg.sogou-inc.com/library/nginx-sogou-lua:2.1.8.0-10
ADD resources/vhosts /usr/local/nginx/conf/vhosts
ADD resources/html /usr/local/nginx/html
ADD resources/lua /usr/local/nginx/lua
  1. 使用Docker build命令打包我们的服务镜像:
# v1为tag标签,跟git的tag标签类似,方便记忆
docker build -t helloworld:v1 .
  1. 打包后我们可以看到镜像
  2. 运行该镜像
# -p 指定主机端口和容器端口的映射关系
# -d 指定容器在后台运行
docker run -p 8080:80 -d helloworld:v1

总结

  1. 根据服务需要的运行环境,编写Dockerfile文件;
  2. 使用build命令依据Dockerfile打包镜像;
  3. 镜像可以本地运行,或发布到公有/私有平台,以供他人使用。
# 官方docker镜像平台
https://hub.docker.com/

下集预告

「3个场景快速上手Docker容器技术」

  • 使用Docker管理测试环境
  • 使用Docker提高测试执行效率
  • 使用Docker管理测试数据
相关文章
|
6天前
|
弹性计算 运维 Linux
Docker环境如何配置?使用阿里云OOS一步搞定!
阿里云OOS简化了ECS上应用部署,提供Docker一键安装服务。支持多种操作系统,包括Alibaba Cloud Linux、CentOS、Ubuntu、Debian和Windows Server。要安装Docker,用户只需在OOS扩展程序中选择并确认实例,执行安装。OOS扩展程序还支持Java、Python等开发环境及宝塔面板、WordPress等应用的快速配置,提升运维效率,让云资源管理更便捷。
149 1
Docker环境如何配置?使用阿里云OOS一步搞定!
|
9天前
|
运维 监控 安全
构建高效自动化运维体系:Ansible与Docker的协同实战
【5月更文挑战第25天】 在当今快速迭代的软件发布环境中,自动化运维成为确保部署效率和可靠性的关键。本文通过深入分析Ansible和Docker技术,探索它们如何协同工作以构建一个高效的自动化运维体系。文章不仅介绍了Ansible的配置管理功能和Docker容器化的优势,还详细阐述了将两者结合的实践策略,旨在帮助读者理解并实现更智能、更灵活的基础设施管理。
|
17天前
|
Docker 容器
paddleocr 在docker环境下部署_docker部署paddleocr,90%的人看完都说好
paddleocr 在docker环境下部署_docker部署paddleocr,90%的人看完都说好
|
17天前
|
SQL API 流计算
实时计算 Flink版产品使用合集之在Mac M1下的Docker环境中开启SQL Server代理的操作步骤是什么
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
5天前
|
jenkins 持续交付 开发工具
蓝易云 - 基于Jenkins自动打包并部署docker环境
以上就是基于Jenkins自动打包并部署docker环境的基本步骤。在实际操作中,你可能需要根据你的具体需求进行一些调整。
18 0
|
7天前
|
监控 安全 云计算
云端防御战线:云计算环境下的网络安全策略构建高效稳定的Docker容器监控体系
【5月更文挑战第27天】 在数字化时代的浪潮中,云计算已成为企业与个人存储和处理数据的重要平台。然而,随着云服务使用率的飙升,网络威胁也愈发狡猾且复杂。本文将深入探讨在云计算环境中维护网络安全的挑战及策略,重点分析信息安全的关键组成部分,并提出多层次防御模型以增强云环境的数据保护能力。通过剖析最新的安全技术与实践,我们旨在为读者提供一套全面的网络安全解决方案蓝图。
|
14天前
|
Cloud Native 测试技术 数据库
【云原生之Docker实战】使用Docker部署flatnotes笔记工具
【5月更文挑战第17天】使用Docker部署flatnotes笔记工具
57 8
|
15天前
|
JSON 测试技术 定位技术
【好用的个人工具】在Docker环境下部署Simple mind map思维导图工具
【5月更文挑战第16天】在Docker环境下部署Simple mind map思维导图工具
29 1
【好用的个人工具】在Docker环境下部署Simple mind map思维导图工具
|
17天前
|
运维 Linux Docker
ChatGLM3在Docker环境部署,Linux运维免打包多渠道统计如何实现
ChatGLM3在Docker环境部署,Linux运维免打包多渠道统计如何实现
|
17天前
|
运维 Linux Docker
ChatGLM3在Docker环境部署(1),Linux运维电话面试技巧
ChatGLM3在Docker环境部署(1),Linux运维电话面试技巧