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 命令的用法如下:
-d:在后台运行容器(detached mode)。 -v /opt/test/logs:/opt/app/logs:将本地目录 /opt/test/logs 挂载到容器内的 /opt/app/logs 目录,实现数据卷的共享。 -e host=127.0.0.1:设置容器内的环境变量 host 的值为 127.0.0.1。 -e port=9001:设置容器内的环境变量 port 的值为 9001。 -e onlyResetJob=0:设置容器内的环境变量 onlyResetJob 的值为 0。 docker_image_test:v1:要运行的Docker镜像名称及版本标签。 综合起来,这个命令的作用是在后台运行一个基于 docker_image_test:v1 镜像的容器,同时将本地 /opt/test/logs 目录挂载到容器内的 /opt/app/logs 目录,设置了三个环境变量 host、port 和 onlyResetJob 的值。 4.Dockerfile指令和layer的对应关系(Linux是倒序)
标签:opt,logs,app,test,镜像,docker,python3 From: https://www.cnblogs.com/anhao-world/p/18060594