Dockerfile自定义镜像
Posted 永旗狍子
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Dockerfile自定义镜像相关的知识,希望对你有一定的参考价值。
一.Dockerfile自定义镜像
1.Dockerfile文件
创建自定义镜像就需要创建一个Dockerfile,如下为Dockerfile的语言
FROM:指定基础镜像,必备的指令,并且必须是第一条指令。
MAINTAINER:指明该镜像的维护者和点子邮件。
比如:MAINTAINER xxxx "xxxxx@qq.com"ENV:设置环境变量。
比如:EVN key1=value1 key2=value2...RUN:在新镜像内部执行的命令,比如安装一些软件、配置一些基础环境,可使用\\来换行。
比如:RUN yum install -y mysql-serverCOPY:将主机的文件复制到镜像文件中,如果目标位置不存在会自动创建。
比如:COPY application.yml /etc/resourcesADD:和COPY一样,但是ADD会加上解压操作
EXPOSE:暴露镜像的端口供主机做映射,可以暴露多个端口。
比如:EXPOSE 8080WORKDIR:在构建镜像时,指定镜像的工作目录,之后的命令都是基于此工作目录,如果不存在,则会创建目录,而且在进入容器时,会默认定位到该路径下。
比如:WORKDIR /usr/localVOLUME:用来向基础镜像中添加数据卷
比如 VOLUME /root/mydata /root/condataCMD:容器启动时需要执行的命令。
比如 CMD /bin/bash
实例:通过Dockerfile制作ssm-tomcat镜像
在本地创建一个ssm_tomcat的文件夹,把Dockerfile和ssm.war放到文件夹中,并拖拽到linux的root目录下
需要通过命令将其制作为镜像,并且要在Dockerfile的当前目录下执行命令,之后即可在镜像中查看到指定的镜像信息,注意最后的 .
docker build -t 镜像名称[:tag] .
以上是关于Dockerfile自定义镜像的主要内容,如果未能解决你的问题,请参考以下文章