【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环境。以下是详细的步骤解释:
-
FROM centos:7
:这行命令指定了这个Docker镜像的基础镜像是CentOS 7。 -
LABEL author="daijiong"
:这行命令给这个Docker镜像添加了一个标签,名字是author
,值是daijiong
。 -
RUN yum -y install wget
:这行命令使用yum
包管理器来安装wget
,wget
是一个用于下载网络文件的工具。 -
接下来的几行命令更改了yum的源为阿里云的源,并安装了一些常用的开发库和工具。
-
ADD chinese /usr/share/fonts/chinese
:这行命令把构建环境中的chinese
文件(或文件夹)添加到了镜像的/usr/share/fonts/chinese
路径下。 -
接下来的几行命令修改了字体配置并更新了字体缓存,这样就可以使用安装的中文字体了。
-
然后,这个Dockerfile文件创建了一个目录来存放Java环境,并把构建环境中的
jdk-8u261-linux-x64.tar.gz
文件解压到了这个目录中。然后,它设置了一些环境变量来配置Java环境。 -
最后,这个Dockerfile文件创建了一个目录来存放Python环境,并把构建环境中的
Python-3.7.2.tar.xz
文件解压到了/opt
目录中。然后,它编译并安装了Python 3,并把Python 3的可执行文件链接到了/usr/bin
目录下,这样就可以直接运行python3
和pip3
命令了。
在使用这个Dockerfile文件时,你需要确保chinese
、jdk-8u261-linux-x64.tar.gz
和Python-3.7.2.tar.xz
这三个文件(或文件夹)在Dockerfile文件的同一目录下,因为ADD
命令会从构建环境(一般就是Dockerfile文件的目录)中复制文件到镜像中。
评论区