阅读 85

Docker容器化部署Python应用

1、ubuntu环境搭建

Win10环境,准备VMware安装包以及Ubuntu镜像服务器版18.04,具体安装步骤如下
VMware 安装 Ubuntu Server

2、Docker安装

2.1 更改apt源为阿里源
Ubuntu18.04下更改apt源

cd /etc/apt/
ll
sudo vim sources.list

2.2 安装docker

sudo apt-get update
sudo apt-get install docker.io
sudo docker version

3、windows下运行python+pytest+allure自动化测试代码

3.1 安装python、pip、pytest、allure环境
安装Command Tool解压压缩包
安装提示没有java环境,所以先安装jdk
3.2 编写测试用例

# encoding:utf-8
import os
import pytest


def test_fun1():
    assert 1 == 1


def test_fun2():
    assert 0 == 0

测试函数要以test开头,默认情况下pytest 会递归查找当前目录下所有以 test 开始或结尾的python脚本,并执行文件内的所有以 test 开始或结束的函数和方法

编写pytest测试样例py文件规则如下:
测试文件以test_开头(以test结尾也可以),注意必须有下划线
测试类以Test开头,并且不能带有 init 方法
测试函数以test_开头
断言使用基本的assert即可

3.3 生成测试数据

pytest.main(["-sq", "--alluredir", 'results'])

3.4 生成测试报告

allure generate -c results -o report

查看allure报告


完整代码如下

# encoding:utf-8
import os
import pytest


def test_fun1():
    assert 1 == 1


def test_fun2():
    assert 0 == 0


if __name__ == '__main__':
    pytest.main(["-sq", "--alluredir", 'results'])
    os.system("allure generate -c results -o report")

第一个是数据集合目录,第二个是生成报告目录

4、创建Dockerfile

Dockerfile: 是描述制作镜像的过程的文档

4.1 先新建包含所有依赖包的requirements.txt文件

pip freeze >requirements.txt

4.2 创建Dockerfile

# 使用python为基础镜像
FROM python:3.8.5
# 用户信息
MAINTAINER yujuan "yujuan@hollysys.net"
# 设置工作目录 /code
WORKDIR /code
# 将当前目录内容复制到容器中
ADD .  /code
# 设置JDK环境变量
ADD jdk-8u121-linux-x64.tar.gz  /usr/local/
ENV JAVA_HOME /usr/local/jdk1.8.0_121
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH $PATH:$JAVA_HOME/bin
# 更新pip
RUN /usr/local/bin/python -m pip install --upgrade pip -i https://pypi.douban.com/simple
# 安装所有requirements.txt规定的的包
RUN pip install -r requirements.txt -i https://pypi.douban.com/simple
# 运行test_weather.py
RUN python test_tos.py

Dockerfile指令
Dockerfile构建镜像

5、 Docker容器化部署Python应用

5.1 镜像制作指令

docker build -t 镜像名称:镜像版本  .

注意后面有个点,默认使用当前路径下的名为Dockerfile 的文件作为 Dockerfile
可以通过docker images查看是否构建镜像成功


image.png

5.2 镜像启动指令

docker run -d  镜像名称:镜像版本

5.3 进入容器
通过docker ps -a查看容器ID

image.png

进入容器:

docker exec -it 容器ID  /bin/bash

执行docker exec命令报错Error response from daemon: Container XXX is not running,Docker启动不了容器

作者:鱼娟note

原文链接:https://www.jianshu.com/p/32d7f9fed267

文章分类
后端
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐