python3代码转换成docker镜像启动
1.打包成docker镜像来使用
切到Tags,搜索3.11
选择 python:3.11.4-slim-bullseye
2.在压测脚本的根目录中,创建 Dockerfile 文件:
FROM python:3.11.4-slim-bullseye WORKDIR /opt/app COPY requirements.txt ./ ENV host=null ENV port=null ENV onlyResetJob=null RUN pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple COPY . . ENTRYPOINT ["/bin/sh", "-c", "python skq_test.py --host=${host} --port=${port} --onlyResetJob=${onlyResetJob}"]
● Dockerfile 是一个文本文件,里面包含有用于构建镜像的各种指令,如:FROM、WORKDIR、COPY、RUN、ENTRYPOINT等 ● Dockerfile 名称一般是固定写法,且无后缀名 ● Dockerfile 可使用的指令、语法,参考官方文档:https://docs.docker.com/engine/reference/builder/ ○ 指令大小写不敏感,但为了和指令中用到的参数区别开来, 一般习惯用大写 ○ 常用指令简介 ■ FROM:Dockerfile的第一条指令必须是 FROM,用于指定基础镜像。在FROM前面可以有 ARG,用于给FROM提供动态参数 ■ WORKDIR:给 RUN、CMD、ENTRYPOINT、COPY等设置工作目录,如果目录不存在,则自动创建。例子:WORKDIR /opt/app 指定工作目录为 /opt/app,如果/opt/app不存在,则自动创建,后续的RUN、COPY等指令,都是在 /opt/app 目录下执行的 ■ COPY:把文件或文件夹复制到镜像。最简单的例子: COPY . . 把全部的文件或文件夹(.dockerignore里排除的,不要)复制到镜像当前的工作目录,也就是 WORKDIR指定的目录 ■ ENV:配置环境变量的 ■ RUN:这是最常用的指令,用于执行软件安装、文件修改删除、依赖包安装、源代码编译等 ■ ENTRYPOINT:当启动容器时要执行的脚本 ● 一个特殊的 .dockerignore 文件 ○ 用于在 docker build 时把一些不需要的文件、文件夹排除掉,类似于 .gitignore
3.把整个压测脚本,压缩成 .zip 格式的文件,上传打docker虚拟环境,进行解压。解压后cd 到目录下执行构建命令:docker build -t test:v1 .
注释:最后有个点是必须的
查看镜像:
启动镜像
docker run -d -v /opt/test/logs:/opt/app/logs -e host=127.0.0.1 -e port=9001 -e onlyResetJob=0 docker_iamge_test:v1
这个 docker run 命令的用法如下: