首页 > 其他分享 >[docker] 浅谈Docker:Docker容器中环境变量的应用

[docker] 浅谈Docker:Docker容器中环境变量的应用

时间:2024-03-27 17:55:44浏览次数:33  
标签:浅谈 环境变量 ENV VAR docker MY Docker

0 序

1 设置环境变量

1.1 场景:在Dockerfile中设置环境变量

在构建Docker镜像时,可以在Dockerfile中使用ENV指令来设置环境变量

ENV MY_ENV_VAR="ABC123"
  • ENV指令用于设置环境变量,语法为
ENV <key> <value>

ENV <key>=<value>

1.2 场景:使用docker run命令设置环境变量

使用docker run命令在运行容器时设置环境变量。

docker run -e MY_ENV_VAR="ABC123" image_name
  • -e--env选项用于设置环境变量,语法为
-e <key>=<value>
docker run --env-file path/to/env-file image_name
  • --env-file选项用于设置环境变量文件。

格式如下:

DB_HOST=localhost
DB_PORT=3306
DB_USER=root
DB_PASSWORD=password

1.3 场景:进入容器内部添加环境变量

docker exec -it {容器ID} /bin/bash

可以在以下文件中添加变量:

~/.bashrc
~/.profile
~/.bash_profile
/etc/profile
/etc/environment
/etc/bash.bashrc

在文件末尾追加:

export MY_ENV_VAR=ABC123

添加完后执行下面命令生效

source 修改的文件

使用echo查看

echo $MY_ENV_VAR

1.4 场景:在Docker Compose文件中设置环境变量

  • 可以在docker-compose.yml中设置环境变量
version: '3.3'
services:
  mycontainer:
    image: my-image
    container_name: my-container
    restart: always
    environment:
      - MY_ENV_VAR=ABC123

2 查看环境变量

  • 方式1:使用docker inspect命令查看
docker inspect 容器ID

"Env": [
"MY_ENV_VAR=ABC123",
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"NGINX_VERSION=1.25.3",
"PKG_RELEASE=1",
"NJS_VERSION=0.8.2"
],


+ 方式2:使用`docker exec`命令查看
``` shell
docker exec 容器ID env

out :

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
HOSTNAME=decb784b8420
MY_ENV_VAR=ABC123
NGINX_VERSION=1.25.3
PKG_RELEASE=1
NJS_VERSION=0.8.2
HOME=/root

3 使用环境变量(在容器内)

设置完环境变量后,可以在容器内部使用它们:

  • PYTHON:
import os

env_var = os.environ.get('MY_ENV_VAR')
  • JavaScript:
const envVar = process.env.MY_ENV_VAR
  • VUE2:
const envVar = process.env["MY_ENV_VAR"]
  • VUE3:
const envVar = import.meta.env["MY_ENV_VAR"]
  • Java
String envVar = System.getenv("MY_ENV_VAR")

X 参考文献

标签:浅谈,环境变量,ENV,VAR,docker,MY,Docker
From: https://www.cnblogs.com/johnnyzen/p/18099897

相关文章

  • [nacos] 基于Docker安装Nacos(2.1.1)
    0序环境信息centos:7.9docker:25.0.4nacos-server:2.1.11安装步骤(nacos/nacos-server镜像版)Step1拉取镜像dockerpullnacos/nacos-server:v2.1.1dockerimagesStep2创建、并运行NacosServerDemo容器创建、并运行NacosDemo容器dockerr......
  • win10 docker zookeeper和kafka搭建
    好久没用参与大数据之类的开发了,近日接触到一个项目中使用到kafka,因此要在本地搭建一个简易的kafka服务。时间比较紧急,之前有使用docker的经验,因此本次就使用docker来完成搭建。在搭建过程中出现的一些问题,及时记录,以便后期再遇见。环境计算机环境:win1022H2dockerVersio......
  • ChatGLM3在Docker环境部署
    ChatGLM3docker部署1.下载项目到本地gitclonehttps://github.com/THUDM/ChatGLM3cdChatGLM3这目录ChatGLM3下应该还需要包含chatglm3-6b-32kHuggingFace或者ModelScope,需要手动下载。2.制作Docker镜像1)配置基础的Dockerfile:#基于的基础镜像FROMpython:3.11.6......
  • [Devops] ubuntu 重装 nvida-docker 驱动
    重装nvidia-docker2apt-getremovedockerdocker-enginedocker.iocontainerdruncapt-getinstallapt-transport-httpsca-certificatescurlgnupg-agentsoftware-properties-commoncurl-fsSLhttps://download.docker.com/linux/ubuntu/gpg|sudoapt-keyadd-a......
  • docker-运行jenkins服务
    环境说明linux系统版本:lsb_release-a docker版本:docker-v  不同的操作系统以及软件版本,可能会遇到不一样的问题,一定要注意版本问题。 最好是确认自己的服务器已经设置阿里云的镜像加速,或者使用腾讯的,网易的都是可以的。自己选,设置之后下载镜像的速度回快很多......
  • 如何使用Docker安装Odoo 17
    目录概览前提条件使用DockerCompose安装Odoo17解释配置别忘了在config文件夹的odoo.conf文件里配置addons路径如何运行概览Odoo是一个全面的企业资源计划(ERP)和客户关系管理(CRM)软件,它提供了一个集成的解决方案,覆盖了销售、采购、库存、会计等多个业务领域。随着Odo......
  • Ubuntu安装docker,docker安装conda详细步骤
    一、VMware安装ubuntu系统1.VMware下载VM官网:VM官网一直下一步就ok2.VM装ubuntu可参考这篇博客:VMware虚拟机下安装Ubuntu20.04(保姆级教程)_虚拟机安装ubuntu20.04_算法真不会的博客-CSDN博客二、ubuntu安装docker 1.安装docker:可参考这篇博客:容器搭建(vmware中的Ubu......
  • Docker八股
    Docker八股1.容器、虚拟机一句话概括容器:容器就是将软件打包成标准化单元,以用于开发、交付和部署。容器镜像是轻量的、可执行的独立软件包,包含软件运行所需的所有内容:代码、运行时环境、系统工具、系统库和设置。容器化软件适用于基于Linux和Windows的应用,在任何环境中都......
  • docker-compose介绍
    1docker-compose介绍#使用了docker面临一个比较大的问题,如果一个djagno项目,使用mysql,redis,不要一次性把所有服务都放到一个容器中,每个服务一个容器,批量的管理多个容器,比较难以操作,于是有了docker-compose#批量管理,操作docker容器的软件---》只在单机#DockerCompose是一......
  • docker-运行JavaWeb服务(jar包)
    环境说明linux系统版本:lsb_release-adocker版本:docker-v 不同的操作系统以及软件版本,可能会遇到不一样的问题,一定要注意版本问题。 查看docker中mysql的版本,可以去官网,需要kx上网才能打开。https://hub.docker.com/ 最好是确认自己的服务器已经设置阿里云的镜......