docker 环境变量设置实现方式

ops/2024/10/21 5:57:44/

1、前言

   docker在当前运用的越来广泛,很多应用或者很多中间软件都有很多docker镜像资源,运行docker run 启动镜像资源即可应用。但是很多应用或者中间件有很多配置参数。这些参数在运用过程怎么设置给docker 容器呢?下面介绍几种方式

2 、docker 设置环境参数方式

2.1 通过docker run命令实现

  大家知道docker run 是启动docker 容器的命令,docker run  -e 后面可以加参数设置启动命令

例如我们要设置一个java  项目的jvm 参数,就可以用下面的命令

docker run -d -p 9700:9700 -e JAVA_OPTS="-server -Xms256m -Xmx512m -XX:PermSize=512M -Dspring.profiles.active=test"   --name test  -t test:latest

2.2 通过Dockerfile 设置

   通过Dockerfile 如下截图

2.3  通过docker composes实现

如果是通过docker compose 实现对镜像描述和启动,需要在镜像yaml 文件中设置,如下截图

3、总结

  以上三种方式都可以实现容器的环境变量, 总体来说方式2.2 的优先级最高,他回覆盖其他两种方式。


http://www.ppmy.cn/ops/4051.html

相关文章

域名被污染了只能换域名吗?

域名污染是指域名的解析结果受到恶意干扰或篡改,使得用户在访问相关网站时出现异常。很多域名遭遇过污染的情况,但是并不知道是域名污染,具体来说,域名污染可能表现为以下情况:用户无法通过输入正确的域名访问到目标网…

逐步学习Go-Slice(切片还可以多挖一下)

特性 扩缩容:只有自动扩容,没有自动缩容原地与非原地:切片有原地有非原地操作 自动扩容 Slice只有自动扩容,不会自动缩容,而且自动扩容会根据当前slice的容量来计算不同的扩容系数,具体容量和扩展因子关…

多线程8

void 取款(){int oldBalance balance if(!CAS(balance,oldBalance,oldBalance-500)){}} 在这个线程中如果变成了这样 void 取款(){int oldBalance balancevoid 取款(){int oldBalance balance if(!CAS(balance,oldBalance,oldBalance-500)){}有人转账发生了500->1000。} i…

量子密钥分发系统设计与实现(一):系统基本架构讨论

经过一段时间讨论,我们了解到量子密钥分发设备是当前量子保密通信系统的基础。从本文开始,我将开启量子密钥分发系统设计与实现系列,详细讨论量子密钥分发设备如何从0到1的搭建。 1.QKD系统总体讨论 QKD系统的核心功能就是为通信双方提供理论…

Windows下载使用nc(netcat)命令

‘nc’ 不是内部或外部命令,也不是可运行的程序? 点击链接地址,下载压缩包。 完成后解压 使用方式(三种): 1、直接双击exe使用 2、把这个exe放到cmd启动的默认路径下 放到默认路径下,使用nc&a…

Linux引导过程与服务控制

Linux操作系统引导过程 排除启动类故障 服务控制及切换运行级别 优化启动过程 Linux引导过程 引导过程总览: 简化来说就是由开机自检 MBA引导 GRUB菜单 加载内核(kernel) init进程初始化等组成 Linux 操作系统的引导过程&…

DAY31-贪心算法| 455.分发饼干,376.摆动序列,53. 最大子序和

文章目录 455.分发饼干376.摆动序列53.最大子序和 455.分发饼干 文字讲解:分发饼干 视频讲解:分发饼干 状态:这题ok 思路: 代码: class Solution {public int findContentChildren(int[] g, int[] s) {if (s.length0…

vue中使用水印

1. 在utils下创建watermark.js const watermark {}/**** param {要设置的水印的内容} str* param {需要设置水印的容器} container* param {需要设置水印的每一块的宽度} canWidth* param {需要设置水印的每一块的高度} canHeight* param {需要设置水印的字体} canFont* para…