美文网首页
Dockerfile语法解析

Dockerfile语法解析

作者: ananRunner | 来源:发表于2019-12-23 17:50 被阅读0次

FROM

指定基础镜像,比如FROM centos:7

FROM centos:7

RUN

在镜像内部执行一些命令,比如安装软件,配置环境等等,执行可以使用""

RUN groupadd -r mysql && useradd -r -g mysql mysql

ENV

设置变量的值,ENV MYQL_MAJOR 5.7,可以通过docker run --e key=value修改,后面可以直接使用${YSQL_MAJOR}

ENV MYSQL_MAJOR 5.7

LABEL

设置镜像标签

LABEL email ="timor@163.com"
LABEL name = "timor"

VOLUME

指定数据的挂载目录

VOLUME /var/lib/mysql

COPY

将主机的文件复制到镜像内,如果目录不存在,会自动创建所需要的目录,注意只是复制,不会提取和解压

COPY springboot.jar /opt/springboot/

ADD

将主机的文件复制到镜像内,和COPY类似,只是ADD会对压缩文件提取和解压

ADD application.yml /etc/

WORKDIR

指定镜像的工作目录,之后的命令都是基于此目录工作,若不存在则创建

WORKDIR /usr/local
WORKDIR tomcat
RUN touch demo.txt

会在/usr/local/tomcat下创建demo.txt

WORKDIR /root
ADD app.yml test/

会在/root/test下多出一个app.yml文件

CMD

容器启动的时候默认会执行的命令,若有多个CMD命令,则最后一个生效

CMD ["mysql"]
或
CMD mysql

ENTRYPOINT

和CMD的使用类似

ENTRYPOINT ["docker-entrypoint.sh"]

和CMD的不同 docker run 执行时,会覆盖CMD的命令,而ENTRYPOINT不会。

EXPOSE

指定镜像要暴露的端口,启动镜像时,可以使用-p 将该端口映射给宿主机

EXPOSE 3306

Dockerfile实战Springboot项目

1.在docke环境中新建一个目录 "springboot"

mkdir springboot
  1. 上传"springboot.jar"到该目录下,并且在此目录创建Dockerfile文件
  2. 创建Dockerfile文件,编写内容
FROM openjdk:8 
MAINTAINER timor 
LABEL name="springboot" version="1.0" author="timor" 
COPY springboot-demo.jar springboot.jar 
CMD ["java","-jar","springboot.jar"]
  1. 基于Dockerfile构建镜像
docker build -t spring-boot-image .
  1. 基于image创建container
docker run -d --name springboot -p 8081:8080 spring-boot-image
  1. 查看启动日志
docker logs springboot --tail=100 -f -t
  1. 在宿主机上访问
curl  localhost:8081/dockerfile
  1. 再次启动一次
docker run -d --name springboot2 -p 8082:8080 spring-boot-image

相关文章

  • Dockerfile语法解析

    FROM 指定基础镜像,比如FROM centos:7 RUN 在镜像内部执行一些命令,比如安装软件,配置环境等等...

  • Dockerfile 的使用以及说明

    Dockerfile 语法

  • Docker 镜像制作

    Dockerfile语法 java镜像Dockerfile案例: FROM nimmis/ubuntu:14.0...

  • docker的入门实战记录

    docker常用方法: Dockerfile的关键字解析: 实例dockerfile: ###########脚本...

  • Docker 笔记

    docker 命令 DockerFile 语法 例子

  • Docker 常用命令

    基本命令: Dockerfile 语法: 关于 Dockerfile 详细的情况,参见: https://www....

  • DockerFile语法

    DockerFile在我理解就是可以将所需要构建镜像的功能、组件都天前配置好,然后直接生成一个Image,而不是先...

  • Dockerfile 语法

    Dockerfile语法由两部分构成,注释和命令+参数 一个简单的例子 Dockerfile 命令 FROM 基础...

  • Dockerfile 语法

    FROM:尽量使用官方的image作为base image LABEL:imge的描述,类似于注释 LABEL m...

  • Dockerfile 语法

网友评论

      本文标题:Dockerfile语法解析

      本文链接:https://www.haomeiwen.com/subject/nykozftx.html