Docker设置获取环境变量

在Dockerfile中设置环境变量

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

ENV MY_ENV_VAR="ABC123"

ENV指令用于设置环境变量,语法为

ENV <key> <value>

ENV <key>=<value>

使用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

进入容器内部添加环境变量

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

在Docker Compose文件中设置环境变量

可以在docker-compose.yml中设置环境变量

version: '3.3'
services:
  mycontainer:
    image: my-image
    container_name: my-container
    restart: always
    environment:
      - MY_ENV_VAR=ABC123

查看环境变量

使用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"
            ],

使用docker exec命令查看

docker exec 容器ID env

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 

在容器内使用环境变量

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

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")

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Docker run 命令可以使用 -e 参数来设置容器的环境变量,例如: docker run -e "ENV_VAR=value" image_name 这将在容器中设置一个名为 ENV_VAR 的环境变量,其值为 value。可以使用多个 -e 参数来设置多个环境变量。 ### 回答2: 在使用Docker时,可以通过`docker run`命令来运行一个容器。在`docker run`命令中,环境变量是一个重要的参数。环境变量可以在容器内部定义和使用,它可以影响容器的行为和配置。 使用`-e`参数可以在`docker run`命令中设置环境变量。例如,可以使用以下命令设置一个名为`ENV_VAR`的环境变量,并将其值设置为`hello`: ``` docker run -e ENV_VAR=hello image_name ``` 通过这个命令,容器在启动时会自动设置一个名为`ENV_VAR`的环境变量,值为`hello`。在容器内部,可以通过读取这个环境变量获取其值。例如,在`Dockerfile`中可以使用`$ENV_VAR`来引用该环境变量。 在Docker中,使用环境变量的场景非常广泛。它可以用于配置应用程序,例如设置数据库的连接字符串、配置文件的路径等。它还可以用于传递参数,例如指定运行模式或调整容器的行为。 此外,通过环境变量,还可以方便地在不同的容器之间进行通信和共享数据。例如,在一个容器中设置一个环境变量,然后在另一个容器中读取该环境变量,以实现容器之间的数据共享和协作。 总的来说,通过`docker run`命令设置环境变量可以方便地影响和配置容器的行为。它是在Docker中非常重要和常用的功能之一。 ### 回答3: 在Docker中,我们可以通过使用环境变量来定制容器的运行环境。当我们运行一个容器时,可以使用`docker run`命令来设置容器的环境变量。 在`docker run`命令中,可以通过`-e`选项后面跟上环境变量的名称和值来设置环境变量。例如,`docker run -e "ENV_NAME=env_value" image_name`。这将会将一个名为`ENV_NAME`的环境变量设置为`env_value`的值。 在容器启动后,该环境变量将会被应用程序或脚本所使用。这样可以使得容器的行为更加灵活,并且可以根据需要进行定制。 然而,需要注意的是,使用`docker run`命令设置环境变量仅在容器的运行期间有效。一旦容器停止并重新启动,这些环境变量将会丢失。如果希望设置永久的环境变量,可以通过容器中的配置文件或者Dockerfile进行设置。 总而言之,通过`docker run`命令设置环境变量可以在容器运行时定制容器的运行环境,使得容器的行为更加灵活和可配置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值