docker run -e传递环境变量的过程

 更新时间:2024年01月20日 09:46:13   作者:wnfee  
这篇文章主要介绍了docker run -e传递环境变量的过程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧

docker run -e传递环境变量 

1. Dockerfile

FROM openjdk:8-jdk-alpine
MAINTAINER fengqiangboy shenzhen <fengqiangboy@gmail.com>
RUN mkdir -p /usr/local/proxy-server
COPY startup.sh /usr/local/proxy-server
RUN cd /usr/local/proxy-server && \
chmod +x startup.sh
WORKDIR /usr/local/proxy-server
# 设置环境变量 USERNAME 默认值为 admin,后面可以通过docker run -e USERNAME="XXXXXX"修改,这个环境变量在容器里也可以$USERNAME获取
ENV USERNAME admin
RUN echo 'USERNAME=' $USERNAME  # 打印一下默认值
# 运行 startup.sh脚本,$USERNAME传递参数到脚本中,不能用 CMD []这种形式,这种方式读取不到变量
CMD sh startup.sh $USERNAME

2. startup.sh

#!/bin/bash
MODULE=$1  # 定义变量为上面传的 $USERNAME 第一个参数
echo 'MODULE=' ${MODULE} # 打印

如果想替换参数使用命令sed -i "s/<USERNAME>/$USERNAME/" config.properties,必须用双引号,用单引号不能读取变量

查看最终文件目录

[root@wanfei test-docker]# ls
Dockerfile  startup.sh

3. 制作镜像

[root@wanfei test-docker]# docker build -t www/test-docker .

4. 运行镜像

[root@wanfei test-docker]# docker run --name docker -e USERNAME="WANFEI" www/test-docker
MODULE= WANFEI

打印成功 WANFEI

到此这篇关于docker run -e传递环境变量的文章就介绍到这了,更多相关docker run -e传递环境变量内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Docker Machine深入学习

    Docker Machine深入学习

    Docker与Docker Machine 的区别?又如当我们执行docker-machine create命令时,Docker Machine都做了些什么?这篇文章都会告诉大家,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • Docker安装jenkins实现微服务多模块打包的示例代码

    Docker安装jenkins实现微服务多模块打包的示例代码

    本文主要介绍了Docker安装jenkins实现微服务多模块打包的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • docker-compose+nginx部署前后端分离的项目实践

    docker-compose+nginx部署前后端分离的项目实践

    本文主要介绍了docker-compose + nginx部署前后端分离的项目,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • Docker容器连接实现步骤解析

    Docker容器连接实现步骤解析

    这篇文章主要介绍了Docker容器连接实现步骤解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • Dockerfile文件编写及构建镜像命令解析

    Dockerfile文件编写及构建镜像命令解析

    这篇文章主要为大家介绍了Dockerfile文件编写及Dockerfile构建镜像命令解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2022-04-04
  • Docker中容器数据卷(Data Volume)和数据管理详解

    Docker中容器数据卷(Data Volume)和数据管理详解

    本文主要给大家介绍了关于Docker中容器数据卷(Data Volume)和数据管理的相关资料,文中介绍的很详细,对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。
    2017-02-02
  • Docker容器依赖link连接按顺序启动方式

    Docker容器依赖link连接按顺序启动方式

    这篇文章主要介绍了Docker容器依赖link连接按顺序启动方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • 基于docker部署skywalking实现全链路监控功能

    基于docker部署skywalking实现全链路监控功能

    这篇文章主要介绍了基于docker部署skywalking实现全链路监控,skywalking提供了在很多不同的场景下用于观察和监控分布式系统的方式,文中给大家介绍如何快速部署skywalking全链路监控,感兴趣的朋友一起看看吧
    2022-03-03
  • 轻松安装docker并运行docker swarm模式

    轻松安装docker并运行docker swarm模式

    这篇文章主要介绍了安装docker并运行docker swarm模式的相关知识,非常不错,具有参考借鉴价值,需要的朋友一起学习吧
    2016-12-12
  • Docker内网穿透frp部署实现过程解析

    Docker内网穿透frp部署实现过程解析

    这篇文章主要介绍了Docker内网穿透frp部署实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11

最新评论