我正在尝试设置一个postgres容器,并希望设置postgres登录:
POSTGRES_USER: docker
POSTGRES_PASSWORD: docker
Run Code Online (Sandbox Code Playgroud)
所以我像这样创建了docker-compose.yml
web:
build: .
ports:
- "62576:62576"
links:
- redis
- db
db:
image: postgres
environment:
POSTGRES_PASSWORD: docker
POSTGRES_USER: docker
redis:
image: redis
Run Code Online (Sandbox Code Playgroud)
我还尝试了环境变量的其他语法,将db部分声明为:
db:
image: postgres
environment:
- POSTGRES_PASSWORD=docker
- POSTGRES_USER=docker
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试使用各种连接字符串连接到postgres数据库时,无论出于何种原因,这些选项似乎都不起作用:
postgres://postgres:postgres@db:5432/users
postgres://postgres:docker@db:5432/users
postgres://docker:docker@db:5432/users
Run Code Online (Sandbox Code Playgroud)
他们都给我auth失败,而不是抱怨没有用户数据库.
运行命令docker-compose run -e TYPE=result mongo_db_backup
应该给我给定TYPE变量的值:
mongo_db_backup:
image: 'mongo:3.4'
volumes:
- '/backup:/backup'
command: sh -c '$$(echo $TYPE)'
Run Code Online (Sandbox Code Playgroud)
但是我得到了错误The TYPE variable is not set. Defaulting to a blank string.
我在做什么错