【发布时间】:2019-07-27 14:17:58
【问题描述】:
我是 docker 新手,正在尝试制作一个由服务、nginx 和 postgresql 数据库组成的组合图像。我在这里学习教程:http://www.patricksoftwareblog.com/how-to-use-docker-and-docker-compose-to-create-a-flask-application/
并且已经成功地添加了我遇到困难和问题的 postgresql。
我的 docker-compose.yml:
version : '2'
services:
web:
restart: always
build: ./home/admin/
expose:
- "8000"
nginx:
restart: always
build: ./etc/nginx
ports:
- "80:80"
volumes:
- /www/static
volumes_from:
- web
depends_on:
- web
data:
image: postgres:9.6
volumes:
- /var/lib/postgresql
command: "true"
postgres:
restart: always
build: ./var/lib/postgresql
volumes_from:
- data
ports:
- "5432:5432"
我已经在 /var/lib/postgresql 下包含了他的 docker 生成器脚本,但是当我运行 'docker-compose build' 时,仍然面临 ERROR: Dockerfile parse error line 1: unknown instruction: IMPORT。
如果我留在“数据”部分并删除 docker-compose.yml 文件中的 postgres 部分,我的容器似乎运行良好,但我不确定 postgresql 是否正常运行。我可以使用 curl 获取,但仍然 - 我不确定如何确认 postgres 细节以确认适当的环境,并且特别希望了解有关此主题的示例。
我还想知道如果提供正确的端口,运行我的 docker-compose 容器然后简单地运行一个单独的 postgresql 容器是否也可以运行。
谢谢!
【问题讨论】:
-
yml都是关于缩进的,你不能忽略它,在实际文件中也不能,这里也不能。 -
当您说
build: ./var/lib/postgresql时,该目录中的Dockerfile是什么?这就是产生该错误的原因。 -
我的本地 yml 已缩进 - 我现在将在此处进行相应更新。对 - 我从教程中复制了生成器脚本,但我认为它不正确。这也是我询问是否可以单独运行它的原因。
标签: postgresql docker docker-compose