我有一個運行一個容器的搬運工堆疊。讓我們以 microbin 為例。docker-compose yaml 看起來像這樣:
---
version: "3"
services:
paste:
image: danielszabo99/microbin:latest
container_name: microbin
restart: always
ports:
- "8525:8080"
volumes:
- /mnt/docker_volumes/microbin-data:/app/pasta_data
這個特定的容器托管在 docker hub 上,維護者提供了可以附加到 dockerfile 以輕松激活各種功能的命令列引數示例。一個例子是:
--no-listing
Disables the /pastalist endpoint, essentially making all pastas private.
所以這讓我想到了我的問題。我不想維護自己的自定義 dockerfile,過去我總是將環境變數插入到 docker-compose yaml 中來呼叫這樣的功能。一個例子是這樣的——我有一個為 Authentik 運行的堆疊(一個帶有漂亮 Web 界面的 sso/saml/idp 網關)。您可以看到“環境:”部分和我正在呼叫的變數。
server:
image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2022.5.3}
restart: unless-stopped
command: server
environment:
AUTHENTIK_REDIS__HOST: redis
AUTHENTIK_POSTGRESQL__HOST: postgresql
AUTHENTIK_POSTGRESQL__USER: ${PG_USER:-authentik}
AUTHENTIK_POSTGRESQL__NAME: ${PG_DB:-authentik}
AUTHENTIK_POSTGRESQL__PASSWORD: ${PG_PASS}
AUTHENTIK_ERROR_REPORTING__ENABLED: "true"
# WORKERS: 2
volumes:
- ./media:/media
- ./custom-templates:/templates
- geoip:/geoip
env_file:
- stack.env
所以 - 不知道制作這些容器并將它們托管在 docker-hub 上的開發方面是如何進行的......有沒有辦法讓我在我的 docker-compose yaml / stack 組態檔中使用 microbin 的這些命令列引數作為環境變數,還是我將不得不等待維護者將其作為功能實作?提前感謝您的幫助。
uj5u.com熱心網友回復:
您可以使用該屬性在docker-compose.yml檔案中傳遞命令列引數。command當然,這假設在 Docker 映像中啟動的行程可以處理這些問題,但您的映像似乎就是這種情況,通常應該是這種情況。
version: "3"
services:
paste:
image: danielszabo99/microbin:latest
container_name: microbin
restart: always
ports:
- "8525:8080"
volumes:
- /mnt/docker_volumes/microbin-data:/app/pasta_data
command: my command line --args here
有關詳細資訊,請參閱Docker Compose 參考 - 命令。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/510486.html
標籤:码头工人码头工人撰写dockerfile码头工人搬运工
上一篇:無法在docker中執行ls命令
