首页 > 其他分享 >dockerfile 的构建过程

dockerfile 的构建过程

时间:2022-10-07 10:57:14浏览次数:50  
标签:tomcat dockerfile local 构建 usr ENV 镜像 过程

基础知识:

  1. 每个保留关键字(指令)都是必须大写字母
  2. 执行从上到下顺序执行
  3. "#" 表示注释
  4. 每个指令都会创建提交一个新的镜像层,并提交!

dockerfile 指令介绍

点击查看代码
FROM            # 基础镜像,一切从这里开始构建
MAINTAINER      # 镜像是谁写的, 姓名+邮箱
RUN             # 镜像构建的时候需要运行的命令
ADD             # 步骤, tomcat镜像, 这个tomcat压缩包!添加内容
WORKDIR         # 镜像的工作目录
VOLUME          # 挂载的目录
EXPOSE          # 保留端口配置
CMD             # 指定这个容器启动的时候要运行的命令,只有最后一个会生效可被替代
ENTRYPOINT      # 指定这个容器启动的时候要运行的命令, 可以追加命令
ONBUILD         # 当构建一个被继承DockerFile 这个时候就会运行 ONBUILD 的指令,触发指令
COPY            # 类似ADD, 将我们文件拷贝到镜像中
ENV             # 构建的时候设置环境变量!

创建一个自己的centos

点击查看代码
# 1. 编写Dockerfile的文件
[root@ dockerfile]# cat mydockerfile-centos 
FROM centos
MAINTAINER xiaofan<[email protected]>
 
ENV MYPATH /usr/local
WORKDIR $MYPATH     # 镜像的工作目录
 
RUN yum -y install vim
RUN yum -y install net-tools
 
EXPOSE 80
 
CMD echo $MYPATH
CMD echo "---end---"
CMD /bin/bash
 
# 2. 通过这个文件构建镜像
# 命令 docker build -f dockerfile文件路径 -t 镜像名:[tag] .
 
[root@ dockerfile]# docker build -f mydockerfile-centos -t mycentos:0.1 .
 
Successfully built d2d9f0ea8cb2
Successfully tagged mycentos:0.1

dockerfile 制作 tomcat 镜像

点击查看代码
[root@iZ2zeg4ytp0whqtmxbsqiiZ tomcat]# cat Dockerfile 
FROM centos
MAINTAINER xiaofan< [email protected]>
 
COPY readme.txt /usr/local/readme.txt
 
ADD jdk-8u73-linux-x64.tar.gz /usr/local/
ADD apache-tomcat-9.0.37.tar.gz /usr/local/
 
RUN yum -y install vim
 
ENV MYPATH /usr/local
WORKDIR $MYPATH
 
ENV JAVA_HOME /usr/local/jdk1.8.0_73
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.37
ENV CATALINA_BASH /usr/local/apache-tomcat-9.0.37
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin
 
EXPOSE 8080
 
CMD /usr/local/apache-tomcat-9.0.37/bin/startup.sh && tail -F /usr/local/apache-tomcat-9.0.37/bin/logs/catalina.out
  1. 构建镜像
# docker build -t diytomcat . # "." 注意
  1. 启动镜像
#  docker run -d -p 3344:8080 --name xiaofantomcat1 -v /home/xiaofan/build/tomcat/test:/usr/local/apache-tomcat-9.0.37/webapps/test -v /home/xiaofan/build/tomcat/tomcatlogs/:/usr/local/apache-tomcat-9.0.37/logs diytomcat
  1. web.xml

<?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>

  1. index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>hello. xiaofan</title>
</head>
<body>
Hello World!<br/>
<%
System.out.println("-----my test web logs------");
%>
</body>
</html>
  1. curl 访问
curl "http://127.0.0.1:4443/test/"

image

标签:tomcat,dockerfile,local,构建,usr,ENV,镜像,过程
From: https://www.cnblogs.com/liuzonglin/p/16759226.html

相关文章

  • RenPY学习笔记(1)——项目过程中踩过的坑(们)
    1.如何实现自订对话框  在screens.rpy中,定位到stylewindow项,将backgroundImage修改为要使用的图片stylewindow:xalign0.5xfillTrue......
  • [转]VUE 之 Webpack 打包构建
    首先,下载jquery npmijquery-S然后,下载webpack npmiwebpackwebpack-cli-D接下来,创建文件:webpack.config.jsmodule.exports={mode:'developmen......
  • 【 云原生 | kubernetes 】- tekton构建CI/CD流水线(一)
    ​ Tekton是用于构建CI/CD管道的云原生解决方案。它由提供构建块的TektonPipelines和支持组件(例如TektonCLI和TektonCatalog)组成,它们使Tekton成为一个完整的生......
  • 没学鞅的随机过程
    随机过程1.布朗运动是markov运动的一个特例,但是可以从无穷小分析,p(t,x)=概率密度,随机变量和,X(t)为正正态分布两角度考虑讨论随机出现的微分方程,与建模分析2.平稳过程......
  • make 的执行过程与条件判断
    知识点​​make​​读取makefile文件并执行更新和重建操作makefile反斜线的使用makefile中条件语句的基本格式makefile关键字​​ifeq​​,​​ifneq​​,​​ifdef​​......
  • [答疑]运维人员的日常巡检过程、重大保障活动是业务用例吗
    ​​软件方法(下)分析和设计2021版本连载-第8章分析类图(1)>>​​锡山飞狐<la***msn.com>12:27:10请教潘老师:运维系统业务建模过程中,,运维人员的日常巡检过程、重大保障活动是......
  • 面向对象范式和面向过程范式的不同之处
    面向对象范式和面向过程范式的不同之处面向过程在面向对象的程序设计中,数据和数据上的操作是分离的,而且这种做法要求传递数据给方法。面向对象的范式重点在于设计方法......
  • 数据库—数据管理技术的发展过程
    一、人工管理阶段(20世纪50年代中之前)1、产生背景应用背景科学计算硬件背景无直接存取存储设备软件背景没有操作系统处理方式批处理2、特点数据的管理者:用......
  • Android开发--构建项目安装包APK(debug版)
    1.build→BuildAPK(s),点击即可构建2.点击日志可以查看构建情况3.点击locate即可进入debug文件夹4.也可以在构建完成后直接按照路径找到debug文件夹其中apk文件即所需安装......
  • sqli-labs-master/Less-1解题过程
    1.安装好环境后,打开http://127.0.0.1/sqli-labs-master/Less-1/看到如下图片2.根据提示输入id的值如下(?id=key),发现id的值变化时,页面显示的内容也会变化3.由于上面的......