前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >01 Docker实战之概念理解及环境准备

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

作者头像
测试开发囤货
发布2021-08-10 11:58:04
发布2021-08-10 11:58:04
23400
代码可运行
举报
文章被收录于专栏:测试开发囤货测试开发囤货
运行总次数:0
代码可运行

什么是Docker

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

  1. 「镜像(Image)」

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

  1. 「容器(Container)」

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

  1. 「仓库(Repository)」

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

前提条件

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

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

  • 安装docker
代码语言:javascript
代码运行次数:0
复制
https://docs.docker.com/get-docker/

部署步骤

  1. 将工程代码clone到服务器;
代码语言:javascript
代码运行次数:0
复制
git clone https://test.git
  1. 在工程目录新建一个Dockerfile文件,内容如下:
代码语言:javascript
代码运行次数:0
复制
# 基于某个基础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命令打包我们的服务镜像:
代码语言:javascript
代码运行次数:0
复制
# v1为tag标签,跟git的tag标签类似,方便记忆
docker build -t helloworld:v1 .
  1. 打包后我们可以看到镜像
  1. 运行该镜像
代码语言:javascript
代码运行次数:0
复制
# -p 指定主机端口和容器端口的映射关系
# -d 指定容器在后台运行
docker run -p 8080:80 -d helloworld:v1

总结

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

下集预告

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

  • 使用Docker管理测试环境
  • 使用Docker提高测试执行效率
  • 使用Docker管理测试数据
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-08-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 测试开发囤货 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是Docker
  • 前提条件
  • 部署步骤
  • 总结
  • 下集预告
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档