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 名称:版本号
相关推荐
Devin~Y6 分钟前
从内容社区到AI智能客服:Spring Boot + Spring Cloud + Spring AI 全栈实战面试拆解
java·spring boot·redis·elasticsearch·spring cloud·kafka·mybatis
未秃头的程序猿7 分钟前
从写CRUD到做AI Agent:我花了6个月转型,这是我的完整路线图
java·后端·ai编程
Java内核笔记7 分钟前
万字长文剖析 Spring Boot 4.1.0 启动流程源码:从 main 到就绪
java·后端
2602_9599609213 分钟前
电商大厂Java面试:从Spring Boot、JPA、微服务到Redis、Kafka、Spring Security与监控,谢飞机的爆笑三轮问答
java·jvm·spring boot·redis·面试题
码农进化录17 分钟前
Java 程序员的 AI 进化论 | Spring Boot 搭企业智能客服,从设计到上线
java·spring boot·openai
旺仔学长 哈哈19 分钟前
别只做车辆 CRUD:Spring Boot 共享汽车管理系统从预约到还车的完整实现---源码53766
java·spring boot·在线预约·共享汽车
CarIise21 分钟前
C语言基础课程笔记:硬件原理、数据类型、结构体与格式化输入输出详解
c语言·开发语言·笔记
weixin_BYSJ198722 分钟前
springboot技能与工具共享小程序---附源码29657
java·javascript·spring boot·python·小程序·django·php
leoZ23125 分钟前
Vue3 还原一个企业级后台-14-项目总结
开发语言·人工智能·后端·opencv·计算机视觉·数据挖掘·rust
茶本无香30 分钟前
通用报表自动化框架:Java调用Shell传参执行PostgreSQL SQL模板
java·sql·postgresql·shell