DockerFile构建

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 80

CMD 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 centos

MAINTAINER echo_lovely<youngairye@163.com>

COPY readme.md /usr/local/readme.md

ADD  jdk-8u271-linux-x64.tar.gz /usr/local
ADD  apache-tomcat-9.0.40.tar.gz /usr/local


# RUN yum install -y vim

ENV MYPATH /usr/local

WORKDIR $MYPATH

ENV JAVA_HOME /usr/local/jdk1.8.0_271
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.40
ENV CATALINA_BASH /usr/local/apache-tomcat-9.0.40

ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin

EXPOSE 8080

CMD /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端口测试运行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值