Docker 包括三个基本概念,理解了这三个概念,就理解了 Docker 的整个生命周期。
Docker 镜像 是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。镜像 不包含 任何动态数据,其内容在构建之后也不会被改变。
容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。
一个集中的存储、分发镜像的服务,Docker Registry 就是这样的服务。一个 Docker Registry 中可以包含多个 仓库(Repository);每个仓库可以包含多个 标签(Tag);每个标签对应一个镜像。
在讲解Docker在测试中的应用之前,先简单给大家介绍一下如何使用Docker部署一个服务。
假设你的服务器已经部署安装了Docker服务。(安装部署比较简单,各位小伙伴可以自行进行操作。)
https://docs.docker.com/get-docker/
git clone https://test.git
# 基于某个基础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
# v1为tag标签,跟git的tag标签类似,方便记忆
docker build -t helloworld:v1 .
# -p 指定主机端口和容器端口的映射关系
# -d 指定容器在后台运行
docker run -p 8080:80 -d helloworld:v1
# 官方docker镜像平台
https://hub.docker.com/
「3个场景快速上手Docker容器技术」