当前位置: 首页 > 面试题库 >

当由docker compose启动时如何创建表postgresql

施轶
2023-03-14
问题内容

我知道这个问题已经被提出并给出了答案。但这对我不起作用。我也一样 我的postgres容器运行正常。我检查了/docker-entrypoint-
initdb.d/init.sql是否存在的容器。我使用了以下docker-compose.yml。

version: "3"
services:
  postgres:
    image: postgres:latest
    network_mode: bridge
    container_name: postgres
    expose:
    - 5432
    ports:
      - 5432:5432
    volumes:
      - ./init.sql:/docker-entrypoint-initdb.d/init.sql
    environment:
         - POSTGRES_PASSWORD=admin
         - POSTGRES_USER=postgres
         - POSTGRES_DB=dev
    restart: unless-stopped

# APP
  profile_editor2:
    build:
      context: .
      dockerfile: ./Dockerfile
    network_mode: bridge
    container_name: profile_editor2
    volumes:
      - ./image:/app/image
    expose:
      - 8080
    ports:
      - 8080:8080
    restart: unless-stopped
    depends_on:
      - postgres
    links:
      - postgres
volumes:
  postgres-data:

init.sql:-

  create table sometable(id int);

未创建表。我只能看到已创建数据库。如何创建表,并在可能的情况下将一些数据插入表中?


问题答案:

您可以按以下方式在init.sql中编写查询:

DROP DATABASE IF EXISTS test_db;

CREATE DATABASE test_db;

\c test_db;

CREATE TABLE Role(
RoleID SERIAL PRIMARY KEY,
RoleName varchar(50),
);    
insert into Role(RoleName)
values ('Admin'),('User');


 类似资料:
  • 问题内容: 好的,我正在制作我的第一个ruby应用程序。谁知道将所有内容转移到“生产”是如此复杂。到目前为止,我一直在努力配置乘客,让它在启动时运行,然后让Redis在启动时运行。 我的最后一个任务是在启动时添加1个工作程序。现在,我必须ssh并运行我的rake命令。显然,当我想关闭ssh时,这样做不好。所以我只是真的不知道下一步是什么或下一步是什么。 我试着将resque默认配置复制到confi

  • 我是Android Studio的新手,我一直在寻找答案,但不幸的是,我无法做到。我在创建新时遇到问题 我的Android Studio和我之前观看的视频的对比: 我已经试过右键单击另一张照片上的确切内容,并在每个文件夹中的任何位置单击鼠标右键,但仍然找不到新的

  • 当我收到通知时,我的应用和活动在我最近的应用列表中。当我点击通知时,我希望通知的意图得到尊重。在我的例子中,我想重新启动活动(暴力)并传递新的意图:所以,完成,然后重新创建。我正在阅读一些标签,比如和,但我对它们的理解还不够,不知道如何强制“完成然后重新创建”我的活动。哦,这个活动就是main ACTIVITY。 GcmListenerService中的代码片段使用 用于发送通知意图 或者说 如果

  • 问题内容: 我正在使用Docker,并且拥有PHP,MySQL,Apache和Redis的堆栈。我现在需要添加MongoDB,因此我正在检查Dockerfile中的最新版本以及MongoDB Dockerhub中 的docker- entrypoint.sh 文件,但是我找不到设置默认数据库,管理员用户/密码以及可能进行身份验证的方法文件中容器的方法。 在MySQL中,您可以设置一些ENV变量,例

  • 我的错误是:org.openqa.selenium.sessionNotCreatedException:会话未从超时创建:从呈现程序接收消息超时:600.000(会话信息:Chrome=79.0.3945.130)构建信息:版本:“3.141.59”,修订:“E82BE7D358”,时间:“2018-11-14T08:17:03”系统信息:主机:“swati-*con-mac”,IP:“fe80