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端口测试运行