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

 更新时间:2024年05月15日 11:38:39   作者:培根芝士  
本文主要介绍了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")

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

相关文章

  • 使用Docker容器部署Vue程序

    使用Docker容器部署Vue程序

    这篇文章介绍了使用Docker容器部署Vue程序的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-03-03
  • Docker+Nginx打包部署前后端分离步骤实现

    Docker+Nginx打包部署前后端分离步骤实现

    这篇文章主要介绍了Docker+Nginx打包部署前后端分离步骤实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2023-01-01
  • 从零搭建docker私有仓库的步骤

    从零搭建docker私有仓库的步骤

    这篇文章主要介绍了从零搭建docker私有仓库的步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07
  • Docker 容器生命周期 架构 以及和VM之间的差异详解

    Docker 容器生命周期 架构 以及和VM之间的差异详解

    这篇文章主要介绍了Docker 容器生命周期 架构 以及和VM之间的差异详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • 重启docker服务应用自启停命令(推荐)

    重启docker服务应用自启停命令(推荐)

    这篇文章主要介绍了重启docker服务应用自启停命令,文中给大家提到了服务器重启后启动Docker命令,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-12-12
  • 教你使用Docker搭建gitlab社区汉化版的详细过程

    教你使用Docker搭建gitlab社区汉化版的详细过程

    很多朋友不太清楚使用Docker搭建gitlab社区汉化版的过程,总是容易出现错误,今天小编抽空给大家分享使用Docker搭建gitlab社区汉化版的详细过程,一起看看吧
    2021-09-09
  • docker和docker compose版本太低问题的解决方案

    docker和docker compose版本太低问题的解决方案

    本文主要介绍了Docker和docker-compose版本过低导致的KeyError: 'ContainerConfig'错误的解决方法,具有一定的参考价值,感兴趣的可以了解一下
    2025-03-03
  • docker将本地镜像发布到阿里云的实现方法

    docker将本地镜像发布到阿里云的实现方法

    本文主要介绍了docker将本地镜像发布到阿里云的实现方法,文中根据实例编码详细介绍的十分详尽,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • Docker中的四种网络模式

    Docker中的四种网络模式

    Docker网桥是宿主机虚拟出来的,并不是真实存在的网络设备,外部网络是无法寻址到的,这也意味着外部网络无法通过直接Container-IP访问到容器。本文详细介绍了docker中的四种网络模式,感兴趣的小伙伴可以参考一下
    2023-04-04
  • Docker自定义网络详细介绍

    Docker自定义网络详细介绍

    大家好,本篇文章主要讲的是Docker自定义网络详细介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12

最新评论