我在 AWS 上啟動了一個 Debian 11 EC2,并在上面安裝了 postgres 14.5 和 docker 和 docker compose。環境文件。當我嘗試使用 docker-compose.yml 文件時,我得到:sudo docker compose up -dservices.database.environment must be a mapping當我用sudo docker build . -t tvappbuilder:latest然后嘗試運行它:sudo docker run -p 8080:8080 tvappbuilder:latest --env-file .env -itConfig Path .4:47PM INF server/utils/logging.go:105 > logging configured fileLogging=true fileName=app-builder-logs logDirectory=./logs maxAgeInDays=0 maxBackups=0 maxSizeMB=04:47PM FTL server/cmd/video_conferencing/server.go:71 > Error initializing database error="pq: Could not detect default username. Please provide one explicitly"到目前為止,這里是碼頭工人:sudo docker image listREPOSITORY TAG IMAGE ID CREATED SIZE<none> <none> 6e5f035abda5 18 hours ago 1.82GBtvappbuilder latest 6166e24a47e0 21 hours ago 21.8MB<none> <none> cedcaf2facd1 21 hours ago 1.82GBhello-world latest feb5d9fea6a5 12 months ago 13.3kBgolang 1.15.1 9f495162f677 2 years ago 839MB這是 docker-compose.yml:version: 3.7services: server: container_name: server build: . depends_on: - database ports: - 8080:8080 environment: - APP_ID: $APP_ID - APP_CERTIFICATE: $APP_CERTIFICATE - CUSTOMER_ID: $CUSTOMER_ID - CUSTOMER_CERTIFICATE: $CUSTOMER_CERTIFICATE - BUCKET_NAME: $BUCKET_NAME - BUCKET_ACCESS_KEY: $BUCKET_ACCESS_KEY - BUCKET_ACCESS_SECRET: $BUCKET_ACCESS_SECRET - CLIENT_ID: $CLIENT_ID - CLIENT_SECRET: $CLIENT_SECRET - PSTN_USERNAME: $PSTN_USERNAME - PSTN_PASSWORD: $PSTN_PASSWORD - SCHEME: $SCHEME - ALLOWED_ORIGIN: "" - ENABLE_NEWRELIC_MONITORING: false - RUN_MIGRATION: true - DATABASE_URL: postgresql://$POSTGRES_USER:$POSTGRES_PASSWORD@database:5432/$POSTGRES_DB?sslmode=disable
1 回答

當年話下
TA貢獻1890條經驗 獲得超9個贊
根據評論,您的設置存在許多問題。
首先是services.database.environment must be a mapping
運行時的錯誤docker compose up -d
。- APP_ID: $APP_ID
這是由您docker-compose.yml
使用APP_ID: $APP_ID
或- APP_ID=$APP_ID
根據文檔中的行引起的。
另一個問題是您在裸操作系統上安裝了 Postgres,然后使用了 postgres 容器。你只需要做一個或另一個(但如果使用 docker,你將希望為 Postgres 數據使用一個卷或掛載(否則它會在容器重建時丟失)。
可能還有其他問題,但以上內容應該可以幫助您入門。
- 1 回答
- 0 關注
- 143 瀏覽
添加回答
舉報
0/150
提交
取消