
基于Docker的内部循环开发工作流
步骤说明:
开发。根据需求开发应用程序,和传统开发没有变化,不限编程语言。 编写Dockerfile。Dockerfile是由一系列命令和参数构成的脚本,用来构建镜像。 创建自定义镜像。基于“docker build”命令构建自定义镜像。 定义docker-compass。Docker Compose是一个用于定义和运行多个Docker应用程序的工具。 启动Docker应用。 测试。 部署或继续开发。
开发
编写Dockerfile
什么是Dockerfile
Dockerfile就是定义镜像以及构建自定义镜像的脚本文件。通过Docker commoit可以手动创建镜像,但是通过Dockerfile文件可以自动创建镜像并自定义构建过程。所以Dockerfile是构建镜像的常用方法。具体的好处:
支持分层构建及缓存 快速精准,便于维护和升级 便于持续集成 任何地方快速构建
Dockerfile指令
Dockerfile文件是由一系列指令和参数构成。
(1) FROM 用于设置在新进项创建过程中使用的容器镜像
(2) RUN 指定将要运行并捕获到新容器镜像中的命令,包括安装软件、创建文件和目录、创建环境配置等。
(3) COPY 将文件和目录复制到容器的文件系统。
(4) ADD 除了将文件和目录从主机复制到容器镜像外,还可以使用URL规范从远程位置复制文件。
(5) WORKDIR 为其他指定设置工作目录,并设置运行容器示例的工作目录。
(6) CMD 用于设置部署容器镜像的实例时需要运行的默认命令。多个CMD只会执行最后一个。
(7) ENTRYPOINT 配置容器启动后执行的指令,并且不会被docker run的参数覆盖。Dockerfile中只能有一个
(8) ENV 设置环境变量
(9) EXPOSE 指定端口转义字符
默认转义字符是“\”, 可以通过转义字符将脚本命令换行,提高可读性。Windows系统转义字符为“`”.编写准则
尽量选择官方镜像 选择合适的基础镜像 优化指定顺序 只复制需要的文件 最小化可缓存的执行层 使用多阶段构建 根据情况合并指令 删除多余文件和清理没用的中间层 使用.dockerignore
创建自定义镜像
使用docker build来创建镜像 docker build ./ -t {镜像名称} 构建成功后,可使用docker image ls查看
定义docker-compose
什么是docker-compose Docker Compose是一个用于定义和运行多个Docker应用程序的工具。使用YAML文件配置应用的服务,然后单个命令拉起配置的所有服务。 使用场景
a. 开发或本地运行多个服务
b. 自动化测试环境
c. 单主机部署使用Docker Compose
步骤1: 使用Dockerfile定义应用环境
步骤2: 在docker-compose.yml中定义组合应用
步骤3: 执行docker-compose up命令
启动Docker应用
单个容器,可以直接将其部署到Docker主机来运行。docker run --name xxx(应用名) --rm -it -p 8000:80 xxx(镜像名)
多个容器组合应用,可以通过docker-compose起服务。配置好配置文件docker-compose.yml后,使用命令
docker-compose up
测试
对应用进行功能和可用性测试或者直接在docker-compose.yml 里面配置上自动化测试的执行命令。
部署或持续开发
测试完成后,推送镜像到仓库,然后各个服务器可以直接拉取镜像来运行。
文章转载自测试开发吃货,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




