DockerFile使用

2023-05-21  本文已影响0人  轻轻敲醒沉睡的心灵

前面我们说了使用docker commit命令来构建简单的镜像文件,但是有的镜像文件需要设置环境变量,安装很多东西,当然用前面的命令也能完成,但是Docker提供了更好的方式给我们,那就是Dockerfile
Dockerfile是用来构建Docker镜像的文本文件,是由一条条构建镜像所需的指令和参数构成的脚本。所有的操作都在这个文件中,更清晰明了的展现给我们。关键是,很长时间以后,我们忘记这个镜像的时候,回头来看看这个文件,能知道干了啥。
Dockerfile涉及的内容包括执行代码或者是文件、环境变量、依赖包、运行时环境、动态链接库、操作系统的发行版、服务进程和内核进程(当应用进程需要和系统服务和内核进程打交道,这时需要考虑如何设计namespace的权限控制)等等。
我用的docker是比较新的:

docker version

1. Dockerfile

编写Dockerfile文件 --> docker build命令构建镜像 --> docker run依镜像运行容器实例

2. Dockerfile常用保留字指令

参考tomcat的Dockerfile文件:https://github.com/docker-library/tomcat,随便选一个版本都可以看。

3. Dockerfile自定义jdk8镜像

nano Dockerfile
# 写入以下内容
FROM centos:7
LABEL author="zrb" version="1.2"
LABEL description="centos with vim、network、jdk8"
 
ENV MYPATH /usr/local
WORKDIR $MYPATH
 
#安装vim编辑器
#RUN apt update
#RUN apt install vim
#RUN apt install net-tools
RUN yum -y install vim
#安装ifconfig命令查看网络IP
RUN yum -y install net-tools
#安装java8及lib库
RUN yum -y install glibc.i686
RUN mkdir /usr/local/java
#ADD 是相对路径jar,把jdk-8u171-linux-x64.tar.gz添加到容器中,安装包必须要和Dockerfile文件在同一位置
ADD jdk-8u361-linux-x64.tar.gz /usr/local/java/
#配置java环境变量
ENV JAVA_HOME /usr/local/java/jdk1.8.0_361
ENV JRE_HOME $JAVA_HOME/jre
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
ENV PATH $JAVA_HOME/bin:$PATH
 
EXPOSE 80
 
CMD echo $MYPATH
CMD echo "success--------------ok"
CMD /bin/bash

想要用Dockerfile构建自己的jar包,参考下面文章:

Dockerfile构建微服务镜像:Docker实用-微服务Jar包

上一篇 下一篇

猜你喜欢

热点阅读