首页 > 其他分享 >docker基础镜像

docker基础镜像

时间:2024-04-09 17:14:50浏览次数:19  
标签:WORKDIR mkdir 基础 cd 镜像 docker data

基础镜像

WORKDIR="/data/docker/pytest_base_images"
mkdir -p ${WORKDIR}
cd ${WORKDIR}
cat >dockerfile<<'EOF'
# 使用官方的 CentOS 7 镜像作为基础镜像
FROM centos:7

# modify timezone
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

# 更换 yum 源为阿里的源
RUN sed -i 's/#baseurl/baseurl/g' /etc/yum.repos.d/CentOS-Base.repo
RUN sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-Base.repo
RUN sed -i 's/http:\/\/mirror.centos.org/https:\/\/mirrors.aliyun.com/g' /etc/yum.repos.d/CentOS-Base.repo

# 安装 Java 8
RUN yum install -y java-1.8.0-openjdk
# 安装 Python 3
RUN yum install -y python3 python3-pip gcc python3-devel
## 安装拓展包
RUN yum install -y dos2unix
# 安装git
RUN yum install -y git

# 配置 Java 环境变量
ENV JAVA_HOME /usr/lib/jvm/jre-1.8.0-openjdk
ENV PATH $PATH:$JAVA_HOME/bin
ENV PYTHONIOENCODING=utf-8
ENV ALLURE_HOME /code/allure
ENV PATH $PATH:$ALLURE_HOME/bin

# 安装python依赖
RUN /usr/bin/pip3 install --upgrade pip -i https://mirrors.aliyun.com/pypi/simple
COPY ./requirements.txt /code/requirements.txt
RUN /usr/bin/pip3 install -r /code/requirements.txt -i https://mirrors.aliyun.com/pypi/simple
#
# 其他定制操作,比如拷贝应用代码等
EOF

cat >requirements.txt<<'EOF'
requests==2.26.0
certifi==2022.6.15
chardet==3.0.4
charset_normalizer==2.0.1
cryptography==3.4.7
idna==2.10
jsonpath==0.82
loguru==0.6.0
oss2==2.14.0
psutil==5.7.2
PyMySQL==1.0.2
pytest==6.2.4
simplejson==3.19.1
urllib3==1.26.6
PyYAML==6.0
allure_pytest==2.9.43
allure-python-commons==2.9.43
pytest-dependency==0.5.1
pytest-forked==1.3.0
pytest-html==2.1.1
pytest-metadata==1.11.0
pytest-ordering==0.6
pytest-parallel==0.1.0
pytest-rerunfailures==9.1.1
pytest-shell==0.2.3
pytest-testreport==1.1.5
pytest-xdist==3.0.2
python-dateutil==2.8.1
esdk-obs-python == 3.0.5
sqlparse==0.4.1
openpyxl==3.0.10
gitpython
tqdm
jinja2
schedule == 1.1.0
bs4 == 0.0.1
EOF

# 创建基础镜像
docker build -t pytest_base_images:1.0 .

work镜像

WORKDIR="/data/docker/data_compare"
mkdir -p ${WORKDIR}
cd ${WORKDIR}
cat >dockerfile<<'EOF'
# 使用提前制作好的pytest_base_image镜像作为基础镜像
FROM pytest_base_images:1.0
ADD . /code
WORKDIR /code
ENV PYTHONUNBUFFERED=1
CMD ["python3", "update_indicator_excel.py"]
EOF

标签:WORKDIR,mkdir,基础,cd,镜像,docker,data
From: https://www.cnblogs.com/chenzechao/p/18124320

相关文章

  • 专项技能训练五《云计算网络技术与应用》实训5-5:Docker用户自定义网络配置
    文章目录Docker用户自定义网络配置1.使用VMware安装CentOS7虚拟机,安装时需添加多一张网卡,该网卡为自定义-VMnet1.并且记得开启CPU虚拟化,将其命名为“Docker”。2.安装完虚拟机后,进入虚拟机,修改网络配置(onboot改为yes)并重启网络服务,查看相应IP地址,并使用远程连接软件进......
  • k8s和docker的关系
    Docker和Kubernetes(通常简称为K8s)是两个独立的技术,但它们之间存在密切的关系。Docker是一种容器化平台,可以将应用程序和它们的依赖项打包到一个独立的、可移植的容器中。Docker容器封装了应用程序代码、运行时环境、系统工具和依赖项,使应用程序能够在不同的环境中以一致......
  • 【牛客SQL快速入门】SQL基础(二)
    一、高级查询1.计算函数AVGAVG()为平均值函数,通过对表中行数计数并计算其列值之和,求得该列的平均值。AVG()可用来返回所有列的平均值,也可以用来返回特定列或行的平均值。Selectavg(gpa)Fromuser_profileCOUNTCOUNT()函数为计数函数,可利用COUNT() 确定表中行的数......
  • java基础的一小点
    java文件启动的一套流程:.java---通过编译器javac---->.class---经过解释器&JIT--->机器码--->电脑可识别运行 一般而言,不是开发的安个jre就行,但类似于jsp编译就需要jdk的开发工具。JIT(justintime)即使编译器,可对热点代码直接编译。所以说比解释性语言快些、解释和编译型语......
  • 洛谷题单指南-数学基础问题-P2638 安全系统
    原题链接:https://www.luogu.com.cn/problem/P2638题意解读:把a个红球、b个黑球放入n个盒子,求所有的方法。解题思路:盒子中可以放也可以不放,可以放任意个,因此,题目可以转化为将i个红球(0<=i<=a),j个黑球(0<=j<=b)放入n个盒子的方案数之和,设f(n,i,j)表示将一个红球、j个黑球放入n......
  • 【Shell】循环语句基础
    Shell循环循环语句Shell循环循环的定义for循环for循环的C语言格式while循环until循环循环的定义循环在编程中通常指循环结构。循环结构是编程中的一种控制结构,它允许代码在满足特定条件时重复执行一段特定的指令集合,这部分重复执行的代码被称为循环体。循环......
  • 从基础到高级,带你深入了解和使用curl命令(四)
    简介在网络通信和API调用中,发送GET和POST请求是常见的操作。curl命令作为一个功能强大的工具,不仅可以用于文件传输,还可以方便地发送各种类型的HTTP请求。本文将详细介绍如何使用curl命令发送GET和POST请求,并提供一些实用的技巧和示例。发送get请求发送GET请求是获取数据的常用......
  • Kubernetes 升级不弃 Docker:KubeKey 的丝滑之道
    作者:尹珉,KubeSphereAmbaasador&Contributor,KubeSphere社区用户委员会杭州站站长。引言随着Kubernetes社区的不断发展,即将迎来Kubernetes1.30版本的迭代。在早先的1.24版本中,社区作出一个重要决策:不再默认集成Docker作为容器运行时,即取消了对Docker的默认支持。这......
  • ES(ElasticSearch)基础查询语法
    在ES中使用正确有意义的查询语句是很重要的,可以方便、快速的从大量数据中找到想要的数据。所以写好一个查询语句是必不可少的。ES分词器分词器是ES搜索引擎的核心特点,合理了解并使用可以发挥ES最大的效率。后面很多查询也有关,所以应该重点了解分词器。对于存入(Index)中的各个......
  • 最简洁的Docker环境配置
    Docker环境配置Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Mac、Linux或Windows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。总之它加快构建、共享和运行现代......