首页 > 编程语言 > 详细

Docker实践--用Dockerfile创建jenkins+python3+pytest环境镜像

时间:2021-08-13 10:18:33      阅读:21      评论:0      收藏:0      [点我收藏+]
  1. 前提
    在windows系统上安装docker desktop,docker内安装jenkins容器,jenkins容器内安装python3环境,并安装第三方库。这里用Dockerfile创建该环境的镜像,方便在不同的服务器上运行,省去再安装jenkins及python3环境的麻烦。
  2. 宿主机上文件目录
    这里我是在windows系统上创建Dockerfile生成该python3环境的镜像实践,本地文件夹下文件如下:
    docker_run:pyhton3,Dockerfile,requirements.txt
    python3是上面jenkins容器内安装python3.8.6的安装编译包(可参考容器内文件夹下载到宿主机命令),requirements.txt是python的项目脚本里安装的第三方库。利用python项目的虚拟目录venv/Scripts下的python.exe生成requirements.txt文件
    python.exe -m pip freeze > requirements.txt
  3. 编写Dockerfile文件,内容如下:

1.基于jenkins/jenkins:lts镜像

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!