我在 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 关注
- 131 浏览
添加回答
举报
0/150
提交
取消