簡體   English   中英

Docker-Compose 通過 .env 傳遞命令參數

[英]Docker-Compose Passing command args by .env

我經常需要使用不同的參數啟動 Odoo 服務器。

因此,在版本化的 docker-compose.yml 中,我指定了以下內容:

version: '3'
services:
  web:
    image: odoo:12.0
    command: odoo ${ODOO_ARGS}

並創建了一個 .env 文件:

ODOO_ARGS="--update=all"

這適用於單個參數,但不能處理多個參數。 例如,如果我嘗試以下操作:

ODOO_ARGS="--database=myDb --update=all --stop-after-init"

該命令將被評估為:odoo --database="myDb --update=all --stop-after-init"

我很確定這是一個語法問題,所以我想知道如何通過 .env 文件將多個參數傳遞給命令選項。

它實際上評估為odoo "--database=myDb --update=all --stop-after-init"只是因為您在 env 文件中添加了引號。 這是一個在一個字符串中包含多個參數的示例:

docker-compose.yml

version: "3.7"

services:
  test:
    image: debian:buster
    command: find ${ARGS}

.env

ARGS=/ -name bash

運行這個你會得到:

test_1  | /bin/bash
test_1  | /usr/share/lintian/overrides/bash
test_1  | /usr/share/menu/bash
test_1  | /usr/share/doc/bash

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM