我正处于绝望的帮助之中。我要翻译这个docker命令:
docker run -d -p 5434:5432 --name postgres-2 livingdocs/postgres:14.4 standby -d "host=host.docker.internal port=5433 user=postgres target_session_attrs=read-write"它运行得完美无缺,但当我试图将其转换为docker_compose.yml时:
postgres-2:
image: livingdocs/postgres:14.4
container_name: postgres-SLAVE
ports:
- "5434:5432"
volumes:
- postgres2:/tmp/data
entrypoint: "/scripts/entrypoint standby"
command:
- host=host.docker.internal
- port=5433
- user=postgres
- target_session_attrs=read-write"它抛出:
pg_basebackup: error: too many command-line arguments (first is "host=host.docker.internal")
Try "pg_basebackup --help" for more information.保存yml文件并执行之后:docker-compose up -d --remove-orphans
我已经尝试过在线转换工具和大约300个变体,但我不能像码头运行一样工作。
发布于 2022-06-28 13:31:53
为什么在docker-compose.yml中设置entrypoint,而docker run命令没有--entrypoint选项?您还从调用中删除了-d选项,并且将剩下的选项作为单独的参数传递,而不是在docker run调用中使用的单个字符串。
与您的docker run命令行等效的是:
postgres-2:
image: livingdocs/postgres:14.4
container_name: postgres-SLAVE
ports:
- "5434:5432"
command:
- standby
- -d
- "host=host.docker.internal port=5433 user=postgres target_session_attrs=read-write"我已经删除了volumes节,因为您没有在docker run命令行上使用任何卷。
发布于 2022-06-28 21:32:09
我让它和:
postgres-2:
image: livingdocs/postgres:14.4
container_name: postgres-SLAVE
ports:
- "5434:5432"
volumes:
- postgres2:/tmp/data
entrypoint:
- standby
command: "--host host.docker.internal --port 5433 --user postgres"https://devops.stackexchange.com/questions/16202
复制相似问题