dockerfile

dockerfile是用来构建docker镜像的文件的命令参数脚本

构建步骤:

  1. 编写一个dockerfile文件
  2. docker build 构建成一个镜像
  3. docker run 运行镜像
  4. docker push 发布镜像

dockerfile常用指令:全部都需要大写

  1. FROM 基础镜像,一切从这里开始
  2. MAINTAINER 镜像是谁写的,姓名+邮箱
  3. RUN 镜像构建时需要的运行命令
  4. WORKDIR 镜像的工作目录
  5. ADD 步骤,tomcat镜像,压缩它,添加内容
  6. VOLUME 挂载的目录
  7. EXPOSE 保留端口配置--暴露的端口号
  8. CMD 指定这个容器启动的时候要运行的命令,只有最后一个生效,可以被替代
  9. ENTRYPOINT 指定这个容器启动的时候要运行的命令,可以追加命令
  10. ONBUILD 当构建一个被继承dockerfile这个时候就会运行onbuild的指令,触发命令
  11. COPY 类似ADD,将我们的文件拷贝到镜像中
  12. ENV 构建的时候设置环境变量

举例说明:dockerfile文本名称--mycentos,注意:官方命名为Dockerfile

bash 复制代码
FROM centos
MAINTAINER YANG<1214164721@qq.com>

ENV MYPATH /usr/local
WORKDIR $MYPATH

#添加jdk和tomcat的压缩文件并解压到/usr/local/下
ADD jdk-8ull-linux-x64.tar.gz /usr/local/
ADD apache-tomcat-9.0.22.tar.gz /usr/local/

RUN yum -y install vim
RUN yum -y install net-tools

EXPOSE 8080

#环境配置
ENV JAVA_HOME /usr/local/jdk1.8.0_ll
ENV CLASSPATH $JAVA_HOME/lib/dt.jar: $JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.22
ENV CATALINA_BASH /usr/local/apache-tomcat-9.0.22

CMD /usr/local/apache-tomcat-9.0.22/bin/startup.sh && tail -F /usr/local/apache-tomcat-9.0.22/bin/logs/catalina.out

构建镜像:docker build -f mycentos -t centos01:0.1 .

发送镜像到DockerHub:

  1. 注册账号并登录:docker login -u 账号名称
  2. 发送镜像:docker push 名称/镜像名:版本
  3. 更改镜像的版本:docker tag 镜像id 名称:版本号
相关推荐
每天进步一点_JL1 分钟前
JVM 类加载:双亲委派机制
java·后端
用户2986985301435 分钟前
Java HTML 转 Word 完整指南
java·后端
渣哥44 分钟前
原来公平锁和非公平锁差别这么大
java
渣哥1 小时前
99% 的人没搞懂:Semaphore 到底是干啥的?
java
J2K1 小时前
JDK都25了,你还没用过ZGC?那真得补补课了
java·jvm·后端
kfyty7251 小时前
不依赖第三方,不销毁重建,loveqq 框架如何原生实现动态线程池?
java·架构
isysc13 小时前
面了一个校招生,竟然说我是老古董
java·后端·面试
道可到6 小时前
Java 反射现代实践速查表(JDK 11+/17+)
java
侃侃_天下6 小时前
最终的信号类
开发语言·c++·算法
道可到6 小时前
Java 反射现代实践指南(JDK 11+ / 17+ 适用)
java