【问题标题】:CockroachDB Docker Compose Script with SQL commandsCockroachDB Docker 编写带有 SQL 命令的脚本
【发布时间】:2018-02-03 16:02:31
【问题描述】:

我想完成两件事:

1) 使用 docker compose (works) 启动 CockroachDB 集群

2)在集群上执行SQL命令(我要创建数据库)

我的 Docker 文件如下所示:

version: '3'

services: 
roach-ui: 
 image: cockroachdb/cockroach
 command: start --insecure
 expose:
  - "8080"
  - "26257"
 ports:
  - "26257:26257"
  - "8080:8080"
 networks:
  - roachnet
db-1: 
 image: cockroachdb/cockroach
 command: start --insecure --join=roach-ui
 networks:
  - roachnet
 volumes: 
  - ./data/db-1:/cockroach/cockroach-data

networks:
 roachnet:

当我运行 docker-compose up 时,一切正常。 在使用google时,我发现解决方案是运行一个bash脚本,我创建了以下setup.sh:

sql --insecure --execute="CREATE TABLE testDB"

我尝试通过命令 bash -c "setup.sh" 运行脚本,但 Docker 说它无法运行命令 "bash"。 有什么建议 ?谢谢:)

编辑:

我正在运行 docker-compose up,我得到的错误:

roach-ui_1  | Failed running "bash"
heimdall_roach-ui_1 exited with code 1

【问题讨论】:

  • 您介意复制并粘贴您正在运行的特定 Docker 命令以及您遇到问题的错误消息吗?

标签: bash docker-compose cockroachdb


【解决方案1】:

所以你需要一个额外的初始化服务来初始化数据库。该服务将运行一个 bash 脚本来执行将初始化数据库的命令

setup_db.sh

#!/bin/bash
echo Wait for servers to be up
sleep 10

HOSTPARAMS="--host db-1 --insecure"
SQL="/cockroach/cockroach.sh sql $HOSTPARAMS"

$SQL -e "CREATE DATABASE tarun;"
$SQL -d tarun -e "CREATE TABLE articles(name VARCHAR);"

然后你添加这个文件在docker-compose.yml中执行

docker-compose.yaml

version: '3'

services:
  roach-ui:
    image: cockroachdb/cockroach
    command: start --insecure
    expose:
     - "8080"
     - "26257"
    ports:
     - "26257:26257"
     - "8080:8080"
    networks:
     - roachnet
  db-1:
    image: cockroachdb/cockroach
    command: start --insecure --join=roach-ui
    networks:
     - roachnet
    volumes:
     - ./data/db-1:/cockroach/cockroach-data
  db-init:
   image: cockroachdb/cockroach
   networks:
    - roachnet
   volumes:
     - ./setup_db.sh:/setup_db.sh
   entrypoint: "/bin/bash"
   command: /setup_db.sh
networks:
  roachnet:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-18
    • 2016-11-22
    • 2023-03-21
    • 1970-01-01
    • 1970-01-01
    • 2014-12-04
    相关资源
    最近更新 更多