Я пытаюсь инициализировать mongoDb через скрипт оболочки в docker -compose, но получаю ошибку.
docker -compose.yaml file
version: '3.5'
services:
mongo:
container_name: mongo_container
image: mongo
build:
context: ./mongoDocker
dockerfile: db.Dockerfile
ports:
- "27017:27017"
environment:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: rootpwd
MONGO_INITDB_DATABASE: admin
MONGO_INITDB_USERNAME: mongoadmin
MONGO_INITDB_PASSWORD: mongoadminpwd
restart: unless-stopped
db. Docker file
FROM mongo
COPY init-mongo.sh /docker-entrypoint-initdb.d/
init-mon go. sh file:
mongo -- "$MONGO_INITDB_DATABASE" <<EOF
var rootUser = '$MONGO_INITDB_ROOT_USERNAME';
var rootPassword = '$MONGO_INITDB_ROOT_PASSWORD';
db.auth(rootUser, rootPassword);
use mydb
db = db.getSiblingDB('mydb');
var user = '$MONGO_INITDB_USERNAME';
var passwd = '$MONGO_INITDB_PASSWORD';
db.createUser({user: user, pwd: passwd,
roles: [
{ role: "userAdmin", db: "mydb" },
{ role: "dbAdmin", db: "mydb" },
{ role: "readWrite", db: "mydb" }
]});
EOF
, затем я выполняю docker -compose и получаю следующую ошибку:
mongo_container | /usr/local/bin/docker-entrypoint.sh: running /docker-entrypoint-initdb.d/init-mongo.sh
mongo_container | /docker-entrypoint-initdb.d/init-mongo.sh: line 1: FLOIG06GwRC91ftk2EZRi: unbound variable
Когда я go внутри контейнера и выполняю sh init-mon go. sh, тогда все работает нормально. Это проблема с Docker версией или mon go изображением?