Docker file构建原理,创建docker file,以及实战自定义tomcat
创建dockerfile文件,并且指定自定义镜像信息构建步骤1、编写一个dockerfile文件2、docker build 构建成一个镜像3、docker run 运行镜像4、docker push 发布镜像(dockerhub,阿里云镜像仓库)Dockerfile构建过程1、每个保留关键字都是必须大写字母2、执行顺序从上到下3、#表示注释4、每个指令都会创建提交一个新的镜像层,并提交!dock
创建docker file文件,并且指定自定义镜像信息
构建步骤
1、编写一个dockerfile文件
2、docker build 构建成一个镜像
3、docker run 运行镜像
4、docker push 发布镜像(dockerhub,阿里云镜像仓库)
Dockerfile构建过程
1、每个保留关键字都是必须大写字母
2、执行顺序从上到下
3、#表示注释
4、每个指令都会创建提交一个新的镜像层,并提交!
dockerfile: 构建文件,定义了一切步骤,源代码
dockerimages: 通过dockerfile生成的镜像,最终发布和运行的产品
docker容器:容器就是镜像运行起来提供容器
docker file指令
- FROM: 指定当前自定义镜像依赖的环境,基础镜像
- MAINTAINER: 镜像作者,姓名+邮箱
- RUN: 镜像构建的时候需要运行的命令 ADD: 添加文件,例如添加tomcat压缩包进去 VOLUME: 挂载的目录
- EXPOSE:暴露端口配置 CMD: 指定容器启动的时候运行的命令,只有最后一个会生效,可被替代
- ENTRYPOINT:指定这个容器启动的时候需要运行的命令,可以追加命令
- ONBUILD:当构建一个被继承Dockerfile这个时候就会运行onbuild的指令,触发指令
- Copy:将相对路径下的内容复制到自定义镜像中,类似add
- ENV: 构建的时候设置环境变量
- WORKDIR:声明镜像的默认工作目录
举个栗子:自定义一个tomcat镜像,并且将ssm.war部署到tomcat中
from daocloud.io/library/tomcat:8.5.15-jre8
copy ssm.war /usr/local/tomcat/webapps
创建自己的centos,安装vim和net-tools
FROM centos
MAINTAINER lixiaoyao<emai>>
ENV MYPATH /usr/local
WORKDIR $MYPATH
RUN yum install -y vim
RUN yum install -y net-tools
EXPOSE 80
CMD echo $MYPATH
CMD echo “----end---”
CMD /bin/bash
通过docker命令制作镜像
#docker build -t 镜像名称[:tag]
实战tomcat镜像
1、准备镜像文件tomcat压缩包,jdk的压缩包
2、编写dockerfile文件,官方命名Dockerifle
FROM centos
MAINTAINER kuangshen
ADD jdk-8u11-linux-x64.tar.gz /usr/local #ADD命令会自动解压
ADD apache-tomcat-9.0.22.tar.gz /usr/local
RUN yum install -y vim
ENV MYPATH /usr/local
WORKDIR $MYPATH
ENV JAVA_HOME /usr/local/jdk1.8.0_11
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.22
ENV PATH $PATH:$JAVA_HOME?BIN:$CATALINA_HOME/lib:$CATALINA_HOME/bin
EXPOSE 8080
CMD /usr/local/apache-tomcat-9.0.22/bin/startup.sh && tail -F /usr/local/apache-tomcat-9.0.22/bin/logs/catalina.out
3、构建镜像
#docker build -t diytomcat .
4、启动镜像
5、访问测试
6、发布项目
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)