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管理测试数据
相关文章
|
1月前
|
搜索推荐 测试技术 数据安全/隐私保护
【Docker项目实战】Docker环境下部署NeonLink书签平台
【2月更文挑战第17天】Docker环境下部署NeonLink书签平台
95 0
|
1月前
|
测试技术 API 开发者
【Docker项目实战】在Docker环境下部署go-file文件分享工具
【2月更文挑战第15天】在Docker环境下部署go-file文件分享工具
67 1
|
1月前
|
安全 测试技术 数据安全/隐私保护
【好用的个人工具】Docker环境下部署FileDrop文件共享工具
【2月更文挑战第13天】Docker环境下部署FileDrop文件共享工具
65 2
|
2月前
|
存储 持续交付 Docker
Docker 的基本概念和优势,以及在应用程序开发中的实际应用。
Docker 的基本概念和优势,以及在应用程序开发中的实际应用。
42 0
|
1天前
|
数据库 Nacos Docker
基于docker-compose部署微服务基本环境
基于docker-compose部署微服务基本环境
5 0
|
3天前
|
存储 Kubernetes Docker
Kubernetes(K8S)集群管理Docker容器(概念篇)
Kubernetes(K8S)集群管理Docker容器(概念篇)
|
17天前
|
JavaScript 前端开发 Docker
全栈开发实战:结合Python、Vue和Docker进行部署
【4月更文挑战第10天】本文介绍了如何使用Python、Vue.js和Docker进行全栈开发和部署。Python搭配Flask创建后端API,Vue.js构建前端界面,Docker负责应用的容器化部署。通过编写Dockerfile,将Python应用构建成Docker镜像并运行,前端部分使用Vue CLI创建项目并与后端交互。最后,通过Nginx和另一个Dockerfile部署前端应用。这种组合提升了开发效率,保证了应用的可维护性和扩展性,适合不同规模的企业使用。
|
22天前
|
jenkins 测试技术 持续交付
软件测试|docker搭建Jenkins+Python+allure自动化测试环境
通过以上步骤,你可以在Docker中搭建起Jenkins自动化测试环境,实现Python测试的自动化执行和Allure报告生成。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
44 6
|
1月前
|
NoSQL 关系型数据库 MySQL
Docker安装详细步骤及相关环境安装配置(mysql、jdk、redis、自己的私有仓库Gitlab 、C和C++环境以及Nginx服务代理)
Docker安装详细步骤及相关环境安装配置(mysql、jdk、redis、自己的私有仓库Gitlab 、C和C++环境以及Nginx服务代理)
224 0
|
1月前
|
Unix Docker 容器
【超强图解Docker常见命令与实战】
【超强图解Docker常见命令与实战】
52 0