DockerFile构建
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构建相关推荐
- Dockerfile构建实践
Dockerfile构建实践 本文介绍了用于构建有效图像的推荐最佳实践和方法. Docker通过从一个Dockerfile文本文件中读取指令来自动构建映像,该文本文件按顺序包含构建给定映像所需的所有命 ...
- 通过Dockerfile构建Docker镜像
Dockerfile是一个文本文件,其内包含了一条条的指令(Instruction),每一条指令构建一层,因此每一条指令的内容,就是描述该层应当如何构建. Dockerfile支持Shell类的行尾添 ...
- Docker 使用Dockerfile构建tomcat镜像
Dockerfile概念: 镜像的定制实际上就是定制每一层所添加的配置.文件.如果我们可以把每一层修改.安装.构建.操作的命令都写入一个脚本,用这个脚本来构建.定制镜像,那么之前提及的无法重复的问题. ...
- Dockerfile构建nginx镜像
Dockerfile构建nginx镜像[root@bogon ~]# mkdir /opt/docker-file [root@bogon ~]# cd /opt/docker-file/ [root ...
- Dockerfile构建容器镜像 - 运维笔记
在Docker的运用中,从下载镜像,启动容器,在容器中输入命令来运行程序,这些命令都是手工一条条往里输入的,无法重复利用,而且效率很低.所以就需要一 种文件或脚本,我们把想执行的操作以命令的方式写入其 ...
- Docker 使用Dockerfile构建Docker(三)
Dockerfile 简单使用 先来编写一个最简单的 Dockerfile. 例如: FROM nginx RUN echo '<h1>使用Dockerfile构建镜像</h1> ...
- Docker 从Dockerfile 构建镜像 :build 命令的用法
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. Dockerfile 创建完成后,可以使用 docker build 命令根据 Dockerfile ...
- Docker使用Dockerfile构建简单镜像
Docker使用Dockerfile构建简单镜像 首先确保系统已经安装docker 构建镜像 安装基础镜像 sudo docker pull ubuntu 查看镜像是否已经拉取成功 REPOSITOR ...
- 实战:Docker容器虚拟化技术(使用DockerFile构建镜像并搭建 swarm+compose集群)5
实战:Docker容器虚拟化技术 (使用DockerFile构建镜像并搭建 swarm+compose集群)5 要求: 使用DockerFile构建镜像并搭建 swarm+compose集群 在Swa ...
- dockerfile详解-dockerfile构建过程解析,dockerfile体系结构保留字解析,案例解析
Dockerfile详解 1.定义:Dockerfile是用来构建Docker镜像的构建文件,是一系列命令和参数构成的脚本 2.步骤: --手动编写一个dockerfile文件,必须要要符合规范 -- ...
最新文章
- Python使用MySQL数据库(新)
- Oracle编程入门经典 第7章 表
- SAP HANA 三大特点
- 关于VS2013下制作和使用静态库和动态库
- 计算机领域的范式,编程领域的范式转移
- 实现仿简书选取内容生成分享图片效果
- POJ2373-Dividing the Path【单调队列优化dp】
- python异常值如何处理_如何处理异常
- 爬虫推特数据分析的外文文献_高效阅读英文文献你必须知道的技巧
- 博为峰JavaEE技术文章 ——MyBatis where标签使用方法
- 编程人的「对象」长啥样?
- dell R710 更换raid卡后,raid卡信息没有了,处理方案
- java cancel_java – Future.cancel(boolean)方法的实用程序
- c语言调用python变量_在c中读取python的全局变量
- XILINX FPGA数字信号处理——3、数字的表示和运算的实现
- 常用连接linux的工具,收藏必备
- 「 Gazebo仿真 」地图创建、多模型显示、基本指令
- 控制面板卸载不了程序,教您如何处理控制面板中卸载不掉的软件
- 微信小程序实现文本两端对齐
- 宝宝与父母间的纽带——毛绒玩具