当前位置: 代码网 > 服务器>服务器>云虚拟主机 > Docker设置获取环境变量的方法实现

Docker设置获取环境变量的方法实现

2024年06月12日 云虚拟主机 我要评论
在dockerfile中设置环境变量在构建docker镜像时,可以在dockerfile中使用env指令来设置环境变量env my_env_var="abc123"env指令用于设置环境变量,语法为e

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

到此这篇关于docker设置获取环境变量的方法实现的文章就介绍到这了,更多相关docker设置获取环境变量内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网! 

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com