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