Docker容器化部署Python应用

作者: 元气满满321 | 来源:发表于2021-04-14 19:42 被阅读0次

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启动不了容器

相关文章

网友评论

    本文标题:Docker容器化部署Python应用

    本文链接:https://www.haomeiwen.com/subject/bqpllltx.html