博客
关于我
07-docker系列-使用dockerfile构建python、jenkins镜像
阅读量:790 次
发布时间:2023-01-23

本文共 1491 字,大约阅读时间需要 4 分钟。

使用Dockerfile构建Python和Jenkins镜像

主旨

本文将继续使用Dockerfile的方式,分别构建Python和Jenkins镜像。

环境

运行本文前,要求操作系统安装了Linux环境和Docker环境,同时需要安装Python3.7.1。其他版本的Python也可,但推荐使用本文提供的3.7.1版本。

Python镜像构建

1. 环境准备

首先,创建所需的目录结构并进入对应目录:

mkdir -pv docker/python && cd docker/python

2. 安装Python3.7.1

接下来,将Python3.7.1的安装包上传到该目录下:

Python-3.7.1.tgz 和 install.sh脚本应放在docker/python目录下

3. 编写Dockerfile

编写或获取Dockerfile文件,推荐使用 CentOS 7 系统:

FROM centos:7COPY Python-3.7.1.tgz /tmp/Python-3.7.1.tgzCOPY install.sh /tmp/install.shRUN sh /tmp/install.sh

4. 构建镜像

在Python镜像构建目录执行以下命令:

sudo docker build -t yunweijia:python3 /home/yunweijia/docker/python/

构建完成后,可以通过以下命令查看镜像:

sudo docker images

5. 验证镜像

运行镜像并进入容器:

sudo docker run -it yunweijia:python3 /bin/bash

验证Python版本和Pip:

python -Vpip -V

Jenkins镜像构建

1. 环境准备

进入 Jenkins镜像构建目录:

mkdir -pv docker/jenkins && cd docker/jenkins

2. 安装Jenkins

将 Jenkins 安装脚本上传到该目录下:

jenkins_install.sh 脚本应放在 docker/jenkins 目录下

3. 编写Dockerfile

编写 Jenkins 镜像的 Dockerfile:

FROM centos:7COPY jenkins_install.sh /tmp/jenkins_install.shRUN sh /tmp/jenkins_install.sh

4. 构建镜像

在 Jenkins镜像构建目录执行以下命令:

sudo docker build -t yunweijia:jenkins /home/yunweijia/docker/jenkins/

5. 验证镜像

运行镜像并进入容器:

sudo docker run -d yunweijia:jenkins /bin/bash -c "/etc/rc.d/init.d/jenkins start; while true; do echo yunweijia; sleep 5; done"

可以通过以下命令查看 Jenkins 容器状态:

sudo docker ps -a

可以通过访问镜像编号对应的端口(如 8080 )查看 Jenkins 界面。

总结

通过以上步骤,我们成功构建并验证了基于 Dockerfile 的Python和Jenkins镜像。构建镜像的过程类似于在宿主机上手动安装服务,体现了 Docker 化的简便性。下一篇,我们将重点介绍 Docker 容器的网络模式。

转载地址:http://oteyk.baihongyu.com/

你可能感兴趣的文章
Explore Optimization
查看>>
map[]和map.at()取值之间的区别
查看>>
【SQLI-Lab】靶场搭建
查看>>
Struts2-从值栈获取list集合数据(三种方式)
查看>>
VTK:可视化之RandomProbe
查看>>
block多队列分析 - 2. block多队列的初始化
查看>>
Java时间
查看>>
不编译只打包system或者vendor image命令
查看>>
【编程】C语言入门:1到 100 的所有整数中出现多少个数字9
查看>>
pair的用法
查看>>
Flex 布局的自适应子项内容过长导致其被撑大问题
查看>>
Thymeleaf sec:authorize 标签不生效
查看>>
Boostrap技能点整理之【网格系统】
查看>>
javaWeb服务详解(含源代码,测试通过,注释) ——Emp的Dao层
查看>>
echarts 基本图表开发小结
查看>>
TreeSet、TreeMap
查看>>
JVM内存模型
查看>>
可变长度参数
查看>>
cordova打包apk更改图标
查看>>
GitHub上传时,项目在已有文档时直接push出现错误解决方案
查看>>