启动docker的时候如何把参数传递给docker里面的项目(推荐)

 更新时间:2024年01月20日 09:52:09   作者:猴样鬼相  
这篇文章主要介绍了启动docker的时候如何把参数传递给docker里面的项目,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧

很多时候我们要把自己本地的项目打成一个docker镜像

大部分都是Tomcat或者现在很流行的springboot项目

如果只是带参数运行一个springboot项目是很简单的,如下

java -Dserver.port=8080 -jar xxx.jar

以上命令就把端口号设置为8080启动jar包,无需去改jar包里面的配置文件

但是如果已经把这个jar包打成了镜像之后,怎么传递呢

看下docker run的参数选项,里面有一个-e,环境变量

一开始被"环境"两个字误导了,以为就跟我们装JDK的时候说的环境变量是一个意思

其实也可以用来传递普通变量,如下

1,springboot项目

先改Dockerfile:

FROM java:8
ADD microsoft.jar /root
ENV PARAMS=""
ENTRYPOINT ["sh","-c","java $PARAMS -jar /root/microsoft.jar"]

构建镜像命令:

docker build -t 镜像名称 .

启动命令:

docker run -d -e PARAMS="-Dserver.port=8080" -p 2000:8080 镜像名称

这样jar包在启动的时候就会去读输入变量

2,Tomcat项目

Dockerfile:

 #基本镜像
    FROM centos   
    #把你上传的jdk放到docker容器里面的root目录下
    ADD jdk-8u11-linux-x64.tar.gz /root
    #把你上传的Tomcat放到docker容器里面的root目录下
    ADD apache-tomcat-7.0.57.tar.gz /root
    #设置环境变量
    ENV JAVA_HOME /root/jdk1.8.0_11  
    #设置环境变量
    ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar  
    #设置环境变量
    ENV CATALINA_HOME /root/apache-tomcat-7.0.57
    #设置环境变量
    ENV CATALINA_BASE /root/apache-tomcat-7.0.57
    #设置环境变量
    ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin
    ENV PARAMS=""
    #执行startup.sh并打开日志
    ENTRYPOINT echo $PARAMS > /root/params.txt && /root/apache-tomcat-7.0.57/getParams.sh && /root/apache-tomcat-7.0.57/bin/startup.sh && tail -F /root/apache-tomcat-7.0.57/logs/catalina.out
 /root/params.txt     存放参数的TXT文件
getParams.sh     读取参数的脚本
startup.sh      读完参数启动Tomcat

启动命令:

docker run -d -e PARAMS="user=root&pwd=lw123" -p 2000:8080 params

这样Tomcat在启动之前就会先去处理你传递的参数,怎么处理就根据实际的业务来处理

到此这篇关于启动docker的时候怎么把参数传递给docker里面的项目的文章就介绍到这了,更多相关启动docker传递参数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Docker compose配置文件写法及命令使用示例

    Docker compose配置文件写法及命令使用示例

    这篇文章主要介绍了Docker compose配置文件写法及命令总结使用示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2022-03-03
  • docker安装nginx并部署前端项目的全过程

    docker安装nginx并部署前端项目的全过程

    作为一个前端,代码写完,最后部署到服务器,这是一个必须要了解的过程,这篇文章主要给大家介绍了关于docker安装nginx并部署前端项目的相关资料,需要的朋友可以参考下
    2022-05-05
  • CentOS8下的Docker使用详解

    CentOS8下的Docker使用详解

    这篇文章主要介绍了CentOS8下的Docker使用,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11
  • Docker 数据目录迁移的实现步骤

    Docker 数据目录迁移的实现步骤

    本文详细记录了将Docker数据目录从/var/lib/docker迁移到更大容量的分区的全过程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-12-12
  • docker测试时候命令无法补全的解决方法

    docker测试时候命令无法补全的解决方法

    因为最近在学习使用Docker,所以出现了好多的问题,昨天遇到的一个问题是在docker测试时候发现命令无法补全,通过查找资料最后解决了,现在将方法分享给有需要的人,大家可以参考学习。
    2016-11-11
  • docker容器新增或修改端口映射方式

    docker容器新增或修改端口映射方式

    这篇文章主要介绍了docker容器新增或修改端口映射方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-06-06
  • 详解从 0 开始使用 Docker 快速搭建 Hadoop 集群环境

    详解从 0 开始使用 Docker 快速搭建 Hadoop 集群环境

    这篇文章主要介绍了详解从 0 开始使用 Docker 快速搭建 Hadoop 集群环境,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2017-03-03
  • Linux上使用docker启动redis并远程访问的实现

    Linux上使用docker启动redis并远程访问的实现

    这篇文章主要介绍了Linux上使用docker启动redis并远程访问的实现方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04
  • 5款超好用的开源 Docker工具强烈推荐

    5款超好用的开源 Docker工具强烈推荐

    这篇文章主要介绍了5款超好用的开源 Docker工具强烈推荐,这5个工具非常实用,有需要同学可以学习下
    2021-03-03
  • docker 运行花生壳实现内外网穿透的详细过程

    docker 运行花生壳实现内外网穿透的详细过程

    这篇文章主要介绍了docker 运行花生壳实现内外网穿透,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-03-03

最新评论