侧边栏壁纸
博主头像
DJ's Blog博主等级

行动起来,活在当下

  • 累计撰写 133 篇文章
  • 累计创建 51 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

【Docker】Dockerfile示例

Administrator
2022-03-06 / 0 评论 / 0 点赞 / 93 阅读 / 3042 字

【Docker】Dockerfile

示例

  • Java和Python环境Dockerfile
FROM centos:7
LABEL author="daijiong" 
# 安装常用软件
RUN yum -y install wget 
RUN cd /etc/yum.repos.d/ && \
    wget http://mirrors.aliyun.com/repo/Centos-7.repo && \
    wget http://mirrors.aliyun.com/repo/epel-7.repo
RUN yum -y install zlib-devel bzip2-devel openssl-devel openssl-static ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel lzma gcc vim
RUN yum -y groupinstall "Development tools" 
# 安装中文字体
ADD chinese /usr/share/fonts/chinese
RUN chmod -R 755 /usr/share/fonts/chinese
RUN yum -y install ttmkfdir
RUN ttmkfdir -e /usr/share/X11/fonts/encodings/encodings.dir
# 在/etc/fonts/fonts.conf配置文件的24行后面一行添加<dir>/usr/share/fonts/chinese</dir>
RUN sed -i '24 a <dir>/usr/share/fonts/chinese</dir>' /etc/fonts/fonts.conf
RUN fc-cache
# 安装Java环境
RUN mkdir -p /usr/local/java
ADD jdk-8u261-linux-x64.tar.gz /usr/local/java/
ENV JAVA_HOME=/usr/local/java/jdk1.8.0_261
ENV JRE_HOME $JAVA_HOME/jre
ENV CLASSPATH $JAVA_HOME/bin/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLAS
ENV PATH $JAVA_HOME/bin:$PATH
# 安装python环境
RUN mkdir -p /usr/local/python3
ADD Python-3.7.2.tar.xz /opt
RUN cd /opt/Python-3.7.2/ && \
    ./configure prefix=/usr/local/python3 && \
    make && make install
RUN ln -s /usr/local/python3/bin/python3 /usr/bin/python3
RUN ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

解释

这个Dockerfile文件定义了一个Docker镜像,它使用的基础镜像是CentOS 7,并且在这个基础上安装了一些常用的软件、中文字体、Java环境和Python环境。以下是详细的步骤解释:

  1. FROM centos:7:这行命令指定了这个Docker镜像的基础镜像是CentOS 7。

  2. LABEL author="daijiong":这行命令给这个Docker镜像添加了一个标签,名字是author,值是daijiong

  3. RUN yum -y install wget:这行命令使用yum包管理器来安装wgetwget是一个用于下载网络文件的工具。

  4. 接下来的几行命令更改了yum的源为阿里云的源,并安装了一些常用的开发库和工具。

  5. ADD chinese /usr/share/fonts/chinese:这行命令把构建环境中的chinese文件(或文件夹)添加到了镜像的/usr/share/fonts/chinese路径下。

  6. 接下来的几行命令修改了字体配置并更新了字体缓存,这样就可以使用安装的中文字体了。

  7. 然后,这个Dockerfile文件创建了一个目录来存放Java环境,并把构建环境中的jdk-8u261-linux-x64.tar.gz文件解压到了这个目录中。然后,它设置了一些环境变量来配置Java环境。

  8. 最后,这个Dockerfile文件创建了一个目录来存放Python环境,并把构建环境中的Python-3.7.2.tar.xz文件解压到了/opt目录中。然后,它编译并安装了Python 3,并把Python 3的可执行文件链接到了/usr/bin目录下,这样就可以直接运行python3pip3命令了。

在使用这个Dockerfile文件时,你需要确保chinesejdk-8u261-linux-x64.tar.gzPython-3.7.2.tar.xz这三个文件(或文件夹)在Dockerfile文件的同一目录下,因为ADD命令会从构建环境(一般就是Dockerfile文件的目录)中复制文件到镜像中。

0

评论区