dockerfile

  • todo item
  • 基础命令
  • 编写dockefiel
  • 基于centos镜像制作tomcat+jdk的镜像

todo item

是用来构建docker镜像的脚本;命令参数脚本。构建步骤:1、编写一个dockerfile文件2、 docker build 构建为一个镜像3、docker run 运行镜像4、docker push 发布镜像(dockerhub、 aliyun 镜像仓库)

基础命令

FROM # 基础镜像, 一切从这里开始构建MAINTAINER # 维护者信息,谁创建的~ 姓名 + 邮箱RUN # 镜像构建的时候需要运行的命令ADD # 步骤,tomcat镜像,这个tomcat压缩包。添加内容WORKDIR # 镜像的工作目录 VOLUME # 挂载的目录EXPOSE # 暴露端口配置 -p CMD # 指定容器启动的时候要运行的命令 只有最后一个会生效可被替代ENTRYPOINT # 指定容器启动的时候要运行的命令 可以追加名了ONBUILD # 当构建一个被继承 dockerfile 这个时候就会运行ONBUILD的指令。是一个触发指令。COPY # 类似ADD, 将我们的文件拷贝到镜像中ENV # 构建的时候设置环境变量 设置 es 的jvm参数

编写dockefiel

# 1. 编写DockerFile 文件FROM centos
MAINTAINER bitqian<bitqian@qq.com># 设置环境变量
ENV MYPATH /usr/local
# 设置工作空间,进入容器,到/usr/local目录
WORKDIR $MYPATH# RUN yum -y install vim
RUN yum -y install net-tools# 暴露80端口
EXPOSE 80CMD echo $MYPATH
CMD echo "---- end ----"
CMD /bin/bash# 通过文件构建镜像
# docekr build -f dockerfile_path -t xxx .# 可以通过docker history imageId 列出镜像的构建历史信息~

然后通过docker run命令运行上面的镜像。

基于centos镜像制作tomcat+jdk的镜像

tomcat和jdk是压缩包,需要加入容器

## 1. dockerfile 脚本编写~# this is a Dockerfile to build jdk and tomcat base on centos
# and a readme.md file, more than see it, pls..FROM centosMAINTAINER echo_lovely<youngairye@163.com>COPY readme.md /usr/local/readme.mdADD  jdk-8u271-linux-x64.tar.gz /usr/local
ADD  apache-tomcat-9.0.40.tar.gz /usr/local# RUN yum install -y vimENV MYPATH /usr/localWORKDIR $MYPATHENV JAVA_HOME /usr/local/jdk1.8.0_271
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarENV CATALINA_HOME /usr/local/apache-tomcat-9.0.40
ENV CATALINA_BASH /usr/local/apache-tomcat-9.0.40ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/binEXPOSE 8080CMD /usr/local/apache-tomcat-9.0.40/bin/startup.sh && tail -f /usr/local/apache-tomcat-9.0.40/logs/catalina.out## 2. 后台指定端口 启动运行~
## webapps挂载到/project my_images/tomcat/webapps目录下了
docker run -d -p 8085:8080 --name diy_tomcat01 -v /usr/echo_lovely/docker_study/my_images/tomcat/webapps:/usr/local/apache-tomcat-9.0.40/webapps/project -v /usr/echo_lovely/docker_study/my_images/tomcat/logs:/usr/local/apache-tomcat-9.0.40/logs diy_tomcat:2.0## 3. web.xml 在project里面
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
</web-app>## 4. 编写index.jsp 访问~
<%@ page language="java" contentType="text/html; charset=utf-8"%><head><title>hhh</title>
</head><html><body><h3>hello world ~</h3><% System.out.println("===== they coming ... ====");  %></body></html>## 5. 查看Catalina.log 哈哈哈哈... 直呼内行,niubility~## 外部访问8085端口测试运行

DockerFile构建相关推荐

  1. Dockerfile构建实践

    Dockerfile构建实践 本文介绍了用于构建有效图像的推荐最佳实践和方法. Docker通过从一个Dockerfile文本文件中读取指令来自动构建映像,该文本文件按顺序包含构建给定映像所需的所有命 ...

  2. 通过Dockerfile构建Docker镜像

    Dockerfile是一个文本文件,其内包含了一条条的指令(Instruction),每一条指令构建一层,因此每一条指令的内容,就是描述该层应当如何构建. Dockerfile支持Shell类的行尾添 ...

  3. Docker 使用Dockerfile构建tomcat镜像

    Dockerfile概念: 镜像的定制实际上就是定制每一层所添加的配置.文件.如果我们可以把每一层修改.安装.构建.操作的命令都写入一个脚本,用这个脚本来构建.定制镜像,那么之前提及的无法重复的问题. ...

  4. Dockerfile构建nginx镜像

    Dockerfile构建nginx镜像[root@bogon ~]# mkdir /opt/docker-file [root@bogon ~]# cd /opt/docker-file/ [root ...

  5. Dockerfile构建容器镜像 - 运维笔记

    在Docker的运用中,从下载镜像,启动容器,在容器中输入命令来运行程序,这些命令都是手工一条条往里输入的,无法重复利用,而且效率很低.所以就需要一 种文件或脚本,我们把想执行的操作以命令的方式写入其 ...

  6. Docker 使用Dockerfile构建Docker(三)

    Dockerfile 简单使用 先来编写一个最简单的 Dockerfile. 例如: FROM nginx RUN echo '<h1>使用Dockerfile构建镜像</h1> ...

  7. Docker 从Dockerfile 构建镜像 :build 命令的用法

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. Dockerfile 创建完成后,可以使用 docker build 命令根据 Dockerfile ...

  8. Docker使用Dockerfile构建简单镜像

    Docker使用Dockerfile构建简单镜像 首先确保系统已经安装docker 构建镜像 安装基础镜像 sudo docker pull ubuntu 查看镜像是否已经拉取成功 REPOSITOR ...

  9. 实战:Docker容器虚拟化技术(使用DockerFile构建镜像并搭建 swarm+compose集群)5

    实战:Docker容器虚拟化技术 (使用DockerFile构建镜像并搭建 swarm+compose集群)5 要求: 使用DockerFile构建镜像并搭建 swarm+compose集群 在Swa ...

  10. dockerfile详解-dockerfile构建过程解析,dockerfile体系结构保留字解析,案例解析

    Dockerfile详解 1.定义:Dockerfile是用来构建Docker镜像的构建文件,是一系列命令和参数构成的脚本 2.步骤: --手动编写一个dockerfile文件,必须要要符合规范 -- ...

最新文章

  1. Python使用MySQL数据库(新)
  2. Oracle编程入门经典 第7章 表
  3. SAP HANA 三大特点
  4. 关于VS2013下制作和使用静态库和动态库
  5. 计算机领域的范式,编程领域的范式转移
  6. 实现仿简书选取内容生成分享图片效果
  7. POJ2373-Dividing the Path【单调队列优化dp】
  8. python异常值如何处理_如何处理异常
  9. 爬虫推特数据分析的外文文献_高效阅读英文文献你必须知道的技巧
  10. 博为峰JavaEE技术文章 ——MyBatis where标签使用方法
  11. 编程人的「对象」长啥样?
  12. dell R710 更换raid卡后,raid卡信息没有了,处理方案
  13. java cancel_java – Future.cancel(boolean)方法的实用程序
  14. c语言调用python变量_在c中读取python的全局变量
  15. XILINX FPGA数字信号处理——3、数字的表示和运算的实现
  16. 常用连接linux的工具,收藏必备
  17. 「 Gazebo仿真 」地图创建、多模型显示、基本指令
  18. 控制面板卸载不了程序,教您如何处理控制面板中卸载不掉的软件
  19. 微信小程序实现文本两端对齐
  20. 宝宝与父母间的纽带——毛绒玩具

热门文章

  1. “睡服”面试官系列第二十篇之generator函数的异步应用(建议收藏学习)
  2. 前端学习(1690):前端系列javascript之知识体系1
  3. 前端学习(778):随机数方法
  4. mybatis学习(52):扩展结果的展现
  5. spring学习(1):初始项目
  6. Qt MQTT安装步骤记录
  7. JQ ajax解决跨域
  8. Focal Loss 论文笔记
  9. 互联网大佬学历背景大揭秘,看看是你的老乡还是校友
  10. java 图片阴影_Java 为 PPT 中的图形添加阴影效果