当前位置: 首页 > news >正文

建网站费用记技术服务费寺庙网站开发策划书

建网站费用记技术服务费,寺庙网站开发策划书,电商设计个人作品集制作,网页制作软件免费版无需登录一、说明 程序通常通过与软件捆绑在一起的配置来控制操作,环境变量允许用户在运行时设置它们。但是,在 Docker 容器中运行进程会使事情变得复杂,那么如何将环境变量传递给容器呢?下面介绍若干个传递办法。 二、环境变量有何用途 环…

一、说明

        程序通常通过与软件捆绑在一起的配置来控制操作,环境变量允许用户在运行时设置它们。但是,在 Docker 容器中运行进程会使事情变得复杂,那么如何将环境变量传递给容器呢?下面介绍若干个传递办法。

二、环境变量有何用途

        环境变量允许您将配置与应用程序的可执行文件分离。例如,您不想将生产数据库密码存储在您的代码库中——如果您这样做了,它会从 Git 中可见,并且任何有权访问您的代码的人都可以关闭您的数据库。

        相反,您使用一个环境变量来设置它,该变量存储一个简单的键值对,并允许您访问在同一 shell 会话中运行的任何应用程序中的值(它们不是全局可访问的)。这还有一个好处,就是能够轻松地为不同的环境定义不同的配置。例如,为开发和生产数据库使用单独的密钥,或使用不同的 API 端点。

        可以通过三种主要方式为 Docker 容器设置这些变量——使用 CLI 参数、.env 配置文件或通过 docker-compose。

三、参数随着启动命令带入

        用于启动 Docker 容器的命令 docker run 接受 ENV 变量作为参数。只需使用 -e 标志(--env 的简写)运行它,并传入 key=value 对:

sudo docker run 
-e POSTGRES_USER='postgres' 
-e POSTGRES_PASSWORD='password' 
...

        而且,如果您已经在运行该命令的环境中设置了这些环境变量,则可以直接按名称传递它们:

    // set variablePOSTGRES_PASSWORD='password'// use it laterdocker run -e POSTGRES_PASSWORD -e POSTGRES_USER ...

四、参数在.env 文件

        使用 CLI 参数传递变量效果很好,但它有一个缺点——这些变量在主机上是可见的。它们记录在命令历史记录中,并在已启动进程的进程列表中可见。

        Linux 有一个内置的方法来管理这个权限——文件访问。将变量存储在 .env 文件中允许您使用文件权限(chmod、chown)控制对该文件的访问。

        使用以下格式的变量创建一个 .env 文件,每个变量占一行:

    POSTGRES_PASSWORD='password'POSTGRES_USER='postgres'APPLICATION_URL='example.com'

        然后,使用 --env-file 标志将其传递给 docker run:  

   docker run --env-file ./envfile ...

五、参数随Docker-Compose启动带入

        当然,许多人不会直接使用 docker run 启动 Docker 容器,而是选择使用 docker-compose 文件来处理代表单个应用程序的多个容器的配置。

        要将环境变量传递给以这种方式启动的容器,您必须配置组合文件以将会话变量传递给 Docker 容器。这里的这个配置将POSTGRES_USER变量传递给构建环境和运行环境,如果不存在则设置一个默认值。

version: '3.1'
services:my-service: build:context: .args:- POSTGRES_USER=${POSTGRES_USER:-default}environment: - POSTGRES_USER=${POSTGRES_USER:-default}

        您需要在运行 docker-compose up 之前设置环境变量,否则将无法访问它们。您可以将它们存储在撰写文件中,但这通常会被跟踪和版本化,这违背了环境变量的目的。

六、随Kubernetes带入

        Kubernetes 是一个编排系统,可以处理跨网络运行数百个容器。它仍然使用 Docker,但你只会接触配置,因此直接传递环境变量是行不通的。

        相反,您可以在 Pod 的配置中定义它们:

apiVersion: v1
kind: Pod
metadata:name: example
spec:containers:- ...env:- name: SERVICE_PORTvalue: "80"- name: SERVICE_IPvalue: "172.17.0.1"

        Kubernetes 很复杂,有很多不同的方式来处理环境变量。要了解更多信息,您可以阅读他们关于将数据注入 Pod 的指南。

http://www.yayakq.cn/news/366900/

相关文章:

  • 个人兼职做网站海口网站建设专家评价
  • 网站改名 seo柒比贰wordpress主题
  • 电子商务网页设计与网站建设dw网页制作使用方法
  • 桂林网站建设哪家好企业网站seo优化怎么做
  • 给网站加织梦后台品牌网店怎么加盟
  • 网站建设协议灵台县住房和城乡建设局网站
  • 天津哪里可以做网站最有创意的广告设计
  • 一个公司网站多少钱做百度推广的公司电话号码
  • 手机wap网站 分页莆田专业网站建设公司价格
  • 网站别人做的上面有方正字体手机端html编辑器
  • 淘宝网网站建设的需求分析网站的版式设计有哪些
  • 新乡网站优化公司价格中国交通建设集团官方网站
  • 公司做网站设计要注意鞍山建一个网站大概要多少钱
  • 贵州省建设学校网站黄埔网站建设 信科网络
  • wordpress上一篇下一篇上海网络seo公司
  • 佛山行业网站设计公司邢台建站
  • 洛阳建设网站制作网站推广优化的方法
  • 正规的合肥网站建设价格网站网站建设哪家便宜
  • 在线查询网站开发语言如何做360搜索网站
  • 西安高校网站建设定制网站建设长沙网站设计公司哪家好
  • 网站热力图工具给公司做网站风险
  • dw网站怎么做背景图个人网站做论坛
  • 东莞模板建站平台整站seo技术搜索引擎优化
  • 做一个属于自己的网站vi设计的概念
  • 网站开发和代理公司注册流程
  • 做网站维护泉州百度seo
  • 建设工程招标专业网站防封域名
  • 路由器做映射后 内网可以访问到我的网站 但是外网无法访问招远网站建设公司地址
  • 自己建网站的流程健身俱乐部网站模板
  • 平度做网站wordpress可视编辑器