arangodb выполняется в среде Docker, и сценарий Init успешно предоставляется. Он выполняется при запуске ArangoDB. При выборе доступных тегов изображения последним, 3.12.5.2, 3.12 и 3.12.5, он выполняет скрипт без ошибки, но не создает пользователя и базу данных. Тем не менее, он работал с версией 3.12.4-3 (с интерфейсом Enterprise) - эта версия больше не в Docker. Имеет ли это что -то с сообществом - изменение предприятия? < /P>
Это Docker Compose. Переменные .ENV предоставляются правильно < /p>
services:
arangodb:
image: arangodb:latest
container_name: arangodb
environment:
- ARANGO_ROOT_PASSWORD=${ARANGO_ROOT_PASSWORD}
- ARANGO_DB=${ARANGO_DB}
- ARANGO_USER=${ARANGO_USER}
- ARANGO_USER_PASSWORD=${ARANGO_USER_PASSWORD}
ports:
- "${ARANGO_PORT}:8529"
volumes:
- arangodb_data:/var/lib/arangodb3
- arangodb_apps:/var/lib/arangodb3-apps
- ./arangodb-init:/docker-entrypoint-initdb.d
restart: unless-stopped
volumes:
arangodb_data:
arangodb_apps:
< /code>
Сценарий инициирования выглядит следующим образом: < /p>
'use strict';
const dbName = require('internal').env['ARANGO_DB'] || 'databasename';
const username = require('internal').env['ARANGO_USER'] || 'myuser';
const password = require('internal').env['ARANGO_USER_PASSWORD'] || 'myuserpass';
const db = require('@arangodb').db;
const users = require('@arangodb/users');
if (!db._databases().includes(dbName)) {
db._createDatabase(dbName);
console.log(`Database ${dbName} created.`);
}
users.save(username, password, true);
users.grantDatabase(username, dbName, 'rw');
console.log(`User ${username} created and granted access to ${dbName}`);
< /code>
Вывод консоли указывает, что скрипт выполняется успешно: < /p>
Attaching to arangodb
...
arangodb | Initializing database...Hang on...
arangodb | /entrypoint.sh: running /docker-entrypoint-initdb.d/init-user.js
arangodb | 2025-08-14T20:08:01.033895Z [119-1] INFO [99d80] {general} Database databasename created.
arangodb | 2025-08-14T20:08:01.047226Z [119-1] INFO [99d80] {general} User webservice created.
arangodb | 2025-08-14T20:08:01.047610Z [119-1] INFO [99d80] {general} User webservice granted access to databasename
arangodb | Database initialized...Starting System...
...
arangodb | 2025-08-14T20:08:02.766179Z [1-1] INFO [cf3f4] {general} ArangoDB (version 3.12.5-2 enterprise [linux]) is ready for business. Have fun!
Подробнее здесь: https://stackoverflow.com/questions/797 ... -no-effect
Скрипт init успешно выполняется, но не влияет ⇐ Javascript
Форум по Javascript
-
Anonymous
1755203902
Anonymous
arangodb выполняется в среде Docker, и сценарий Init успешно предоставляется. Он выполняется при запуске ArangoDB. При выборе доступных тегов изображения последним, 3.12.5.2, 3.12 и 3.12.5, он выполняет скрипт без ошибки, но не создает пользователя и базу данных. Тем не менее, он работал с версией 3.12.4-3 (с интерфейсом Enterprise) - эта версия больше не в Docker. Имеет ли это что -то с сообществом - изменение предприятия? < /P>
Это Docker Compose. Переменные .ENV предоставляются правильно < /p>
services:
arangodb:
image: arangodb:latest
container_name: arangodb
environment:
- ARANGO_ROOT_PASSWORD=${ARANGO_ROOT_PASSWORD}
- ARANGO_DB=${ARANGO_DB}
- ARANGO_USER=${ARANGO_USER}
- ARANGO_USER_PASSWORD=${ARANGO_USER_PASSWORD}
ports:
- "${ARANGO_PORT}:8529"
volumes:
- arangodb_data:/var/lib/arangodb3
- arangodb_apps:/var/lib/arangodb3-apps
- ./arangodb-init:/docker-entrypoint-initdb.d
restart: unless-stopped
volumes:
arangodb_data:
arangodb_apps:
< /code>
Сценарий инициирования выглядит следующим образом: < /p>
'use strict';
const dbName = require('internal').env['ARANGO_DB'] || 'databasename';
const username = require('internal').env['ARANGO_USER'] || 'myuser';
const password = require('internal').env['ARANGO_USER_PASSWORD'] || 'myuserpass';
const db = require('@arangodb').db;
const users = require('@arangodb/users');
if (!db._databases().includes(dbName)) {
db._createDatabase(dbName);
console.log(`Database ${dbName} created.`);
}
users.save(username, password, true);
users.grantDatabase(username, dbName, 'rw');
console.log(`User ${username} created and granted access to ${dbName}`);
< /code>
Вывод консоли указывает, что скрипт выполняется успешно: < /p>
Attaching to arangodb
...
arangodb | Initializing database...Hang on...
arangodb | /entrypoint.sh: running /docker-entrypoint-initdb.d/init-user.js
arangodb | 2025-08-14T20:08:01.033895Z [119-1] INFO [99d80] {general} Database databasename created.
arangodb | 2025-08-14T20:08:01.047226Z [119-1] INFO [99d80] {general} User webservice created.
arangodb | 2025-08-14T20:08:01.047610Z [119-1] INFO [99d80] {general} User webservice granted access to databasename
arangodb | Database initialized...Starting System...
...
arangodb | 2025-08-14T20:08:02.766179Z [1-1] INFO [cf3f4] {general} ArangoDB (version 3.12.5-2 enterprise [linux]) is ready for business. Have fun!
Подробнее здесь: [url]https://stackoverflow.com/questions/79735872/init-script-executes-successfully-but-no-effect[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия