python.exe -m pip freeze > requirements.txt
FROM jenkins/jenkins:latest
# 2.镜像维护者的姓名和邮箱地址
MAINTAINER wrx <xxxxxxx@qq.com>
# 3.指定当前工作目录
WORKDIR /var/jenkins_home
# 4.将当前目录文件夹下的所有文件拷贝到指定目录
COPY ./python3 ../python3
COPY requirements.txt ..
# 5.切换到root用户
USER root
# 6.添加软连接
RUN ln -s /var/jenkins_home/python3/bin/python3.8 /usr/bin/python3
RUN ln -s /var/jenkins_home/python3/bin/pip3 /usr/bin/pip3
RUN ln -s /var/jenkins_home/python3/bin/pytest /usr/bin/pytest
Dockerfile文件步骤说明:
第1步:FROM就是拉取jenkins镜像,即基础镜像
第2步:说明镜像者姓名和邮箱
第3步:指定进入容器后的目录:/var/jenkins_home
第4步:(重点)拷贝宿主机当前目录下的python3文件夹到容器当前目录(/var/jenkins_home)的上一级目录(/var),也就是说现在python3在/var目录下
第5步:切换到root用户,以防止接下来的操作中,没有权限导致报错
第6步:添加软链接python3、pip3、pytest,由于python3现在在/var目录,当启动完容器后,文件映射后,还需将python3移动到/var/jenkins_home
4. 创建镜像
在宿主机内Dockerfile所在的路径下,打开powershell窗口,执行生成镜像命令
`docker build -t imagename:v21.8.12.01(tag) .`
5.查看并运行镜像
查看创建的镜像
`docker images`
运行创建的镜像
`docker run -itd -p 8087:8080 -p 50007:50000 --name jenkins --privileged=true -v /home/jenkins:/var/jenkins_home jenkins_python3:v21.8.12.01`
这里也可在docker desktop的gui界面启动生成的镜像,设置该镜像容器名称,运行及映射端口。
6. 进入运行的容器内部,复制python3到工作目录
`docker exec -it -uroot jenkins_python3 /bin/bash`
`cd /var/`
`mv python3/ /var/jenkins_home`
安装requirements.txt第三方库文件(原python3安装编译环境已安装的话,可跳过该步骤)
`pip3 install -r requirements.txt`
验证python环境
`cd /var/jenkins_home`
`python3 --version`
`pip3 --version`
`pytest --version`
打开浏览器,输入http://localhost:8087,(运行机器的ip和port),弹出jenkins的管理员初始密码设置登录界面,即表示创建镜像并成功运行。后续jenkins的管理设置及allure报告生成构建见另一篇。
Docker实践--用Dockerfile创建jenkins+python3+pytest环境镜像
原文:https://www.cnblogs.com/kmm-87/p/15135429.html