dockerfile 常用命令:

  1. FROM : 指定基础镜像,即当前镜像的来源
  2. MAINTAINER: 指定作者
  3. RUN:指定构建过程中要运行的命令
  4. ENV:设置环境变量
  5. WORKDIR: 指定默认工作目录,进入容器默认目录
  6. VOLUME: 创建挂载点,即共享文件夹
  7. CMD: 指定容器启动时要运行的命令 ,与RUN区别,这些命令是在镜像构建结束后执行
  8. ENTRYPOINT: 指定容器启动时要运行的命令
  9. COPY:拷贝文件/目录到镜像中
  10. ADD: 拷贝文件到镜像中,且能自动解压
  11. EXPOSE: 指定对外暴露的端口

例如:自定义tomcat 镜像

  1. 环境: tomcat 8.5/ jdk1.8
  2. 编写dockerfile文件
        #基础镜像
        FROM centos
        #作者
       MAINTAINER Eric
      #拷贝文件测试
       COPY teacher /usr/local
       #拷贝jdk
        ADD jdk-8u11-linux-x64.tar.gz /usr/local
        #拷贝tomcat
        ADD apache-tomcat-8.5.37.tar.gz /usr/local
      #配置环境变量
       ENV JAVA_HOME /usr/local/jdk1.8.0_11
       ENV CLASSPATH .:$JAVA_HOME/lib
       ENV CATALINA_HOME /usr/local/apache-tomcat-8.5.37
       ENV PATH $JAVA_HOME/bin:$CATALINA_HOME/bin:$PATH
        # 定义工作目录(首次访问默认路径)
       WORKDIR $CATALINA_HOME
       RUN yum -y install vim 
       EXPOSE 8080
       CMD ["catalina.sh","run"]         
  3. 创建镜像文件
       $ sudo docker build -f dockerfileT -t tomcat:v3 .  
  4. 执行镜像文件
        $ sudo docker run --name tomcat3 -p 8080:8080 \
         > -v /home/python/demo:/usr/local/apache-tomcat-8.5.37/webapps/demo \
         > -d tomcat:v3
   5. 进入容器:
         $ sudo docker exec -it cd20cf1d45e2 /bin/bash
   注意事项:
        #dockerfile 文件和需要配置安装的文件必须放置在一个文件夹中
        #add 复制默认解压的文件是.tar.gz