postgresql – Docker postgres不在docker-entrypoint-initdb.d
发布时间:2020-12-13 15:53:00 所属栏目:百科 来源:网络整理
导读:基于Docker的Postgres documentation,我可以在/docker-entrypoint-initdb.d中创建任何* .sql文件并让它自动运行. 我有init.sql包含CREATE DATABASE ronda; 在我的docker-compose.yaml中,我有 web: restart: always build: ./web expose: - "8000" links: - p
基于Docker的Postgres
documentation,我可以在/docker-entrypoint-initdb.d中创建任何* .sql文件并让它自动运行.
我有init.sql包含CREATE DATABASE ronda; 在我的docker-compose.yaml中,我有 web: restart: always build: ./web expose: - "8000" links: - postgres:postgres volumes: - /usr/src/app/static env_file: .env command: /usr/local/bin/gunicorn ronda.wsgi:application -w 2 -b :8000 nginx: restart: always build: ./nginx/ ports: - "80:80" volumes: - /www/static volumes_from: - web links: - web:web postgres: restart: always build: ./postgres/ volumes_from: - data ports: - "5432:5432" data: restart: always build: ./postgres/ volumes: - /var/lib/postgresql command: "true" 和我的postgres Dockerfile, FROM library/postgres RUN mkdir -p /docker-entrypoint-initdb.d COPY init.sql /docker-entrypoint-initdb.d/ 运行docker-compose build和docker-compose工作正常,但是没有创建数据库ronda. 解决方法
如果初始化要求只是创建ronda模式,那么您可以使用07GR中描述的POSTGRES_DB环境变量.
postgres服务的docker-compose.yml文件的位将是: postgres: restart: always build: ./postgres/ volumes_from: - data ports: - "5432:5432" environment: POSTGRES_DB: ronda 另外,不要使用restart:always for your data container,因为此容器不运行任何服务(只是true命令).这样做基本上告诉Docker在无限循环中运行true命令. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |