创建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指令

  1. FROM: 指定当前自定义镜像依赖的环境,基础镜像
  2. MAINTAINER: 镜像作者,姓名+邮箱
  3. RUN: 镜像构建的时候需要运行的命令 ADD: 添加文件,例如添加tomcat压缩包进去 VOLUME: 挂载的目录
  4. EXPOSE:暴露端口配置 CMD: 指定容器启动的时候运行的命令,只有最后一个会生效,可被替代
  5. ENTRYPOINT:指定这个容器启动的时候需要运行的命令,可以追加命令
  6. ONBUILD:当构建一个被继承Dockerfile这个时候就会运行onbuild的指令,触发指令
  7. Copy:将相对路径下的内容复制到自定义镜像中,类似add
  8. ENV: 构建的时候设置环境变量
  9. 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、发布项目

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐