dockerfile是用来构建docker镜像的文件的命令参数脚本
构建步骤:
- 编写一个dockerfile文件
- docker build 构建成一个镜像
- docker run 运行镜像
- docker push 发布镜像
dockerfile常用指令:全部都需要大写
- FROM 基础镜像,一切从这里开始
- MAINTAINER 镜像是谁写的,姓名+邮箱
- RUN 镜像构建时需要的运行命令
- WORKDIR 镜像的工作目录
- ADD 步骤,tomcat镜像,压缩它,添加内容
- VOLUME 挂载的目录
- EXPOSE 保留端口配置--暴露的端口号
- CMD 指定这个容器启动的时候要运行的命令,只有最后一个生效,可以被替代
- ENTRYPOINT 指定这个容器启动的时候要运行的命令,可以追加命令
- ONBUILD 当构建一个被继承dockerfile这个时候就会运行onbuild的指令,触发命令
- COPY 类似ADD,将我们的文件拷贝到镜像中
- ENV 构建的时候设置环境变量
举例说明:dockerfile文本名称--mycentos,注意:官方命名为Dockerfile
bash
FROM centos
MAINTAINER YANG<1214164721@qq.com>
ENV MYPATH /usr/local
WORKDIR $MYPATH
#添加jdk和tomcat的压缩文件并解压到/usr/local/下
ADD jdk-8ull-linux-x64.tar.gz /usr/local/
ADD apache-tomcat-9.0.22.tar.gz /usr/local/
RUN yum -y install vim
RUN yum -y install net-tools
EXPOSE 8080
#环境配置
ENV JAVA_HOME /usr/local/jdk1.8.0_ll
ENV CLASSPATH $JAVA_HOME/lib/dt.jar: $JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.22
ENV CATALINA_BASH /usr/local/apache-tomcat-9.0.22
CMD /usr/local/apache-tomcat-9.0.22/bin/startup.sh && tail -F /usr/local/apache-tomcat-9.0.22/bin/logs/catalina.out
构建镜像:docker build -f mycentos -t centos01:0.1 .
发送镜像到DockerHub:
- 注册账号并登录:docker login -u 账号名称
- 发送镜像:docker push 名称/镜像名:版本
- 更改镜像的版本:docker tag 镜像id 名称:版本号