Создание образа Mongo Docker с пользователем / скриптами по умолчанию - не работает - PullRequest
0 голосов
/ 01 ноября 2018

Я пытаюсь создать dockerfile, который будет использовать базу данных Mongo, создать пользователя "admin", а затем раскрутить несколько элементов в скрипте инициализации (это необходимо только при первом запуске контейнера на основе этого изображение).

Dockerfile - это:

#BASE
FROM mongo:latest

#ENVIRONMENT
ENV MONGO_INITDB_ROOT_USERNAME mongo_user
ENV MONGO_INITDB_ROOT_PASSWORD mongo_password
ENV MONGO_INITDB_DATABASE admin

#COPY SETUP SCRIPTS
ADD setup-scripts/mongo-init.sh /docker-entrypoint-initdb.d/

EXPOSE 27017

# Set /usr/bin/mongod as the dockerized entry-point application
ENTRYPOINT ["/usr/bin/mongod"]

Я, кажется, что-то делаю не так - потому что когда я делаю docker logs -f <container> - это не показывает мне, что он создал пользователя по умолчанию / root, и не показывает, что он пытался (или даже игнорировал) попытки обрабатывать скрипты в папке /docker-entrypoint-initdb.d/.

Если я попытаюсь запустить этот образ докера, передав ему параметры -e и нацеливаясь на бизнес INITDB, он тоже не будет работать. Если я просто запускаю mongo: latest с -e params, он, кажется, работает (но также игнорирует каталог init).

Действительно просто - я пытаюсь создать образ докера с Mongo - и при первом запуске образа в контейнер он выполняет некоторые операции инициализации (создает некоторых пользователей, создает базу данных, коллекцию в нем, бла бла). Я хочу осознать / увидеть, что пользователь был создан, коллекция была создана - все такого рода вещи.

Когда я вхожу в свой контейнер с docker exec -it <container> bash - я вижу, что каталог entrypoint-initdb создан, я вижу, что в нем находится мой файл mongo-init.sh. Если я просматриваю логи докера, я просто вижу это (без упоминания о попытке или игнорировании папки init или создании пользователя root)

2018-11-01T18:12:00.791+0000 I CONTROL  [main] Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'
2018-11-01T18:12:00.795+0000 I CONTROL  [initandlisten] MongoDB starting : pid=1 port=27017 dbpath=/data/db 64-bit host=2442ac921df7
2018-11-01T18:12:00.795+0000 I CONTROL  [initandlisten] db version v4.0.3
2018-11-01T18:12:00.795+0000 I CONTROL  [initandlisten] git version: 7ea530946fa7880364d88c8d8b6026bbc9ffa48c
2018-11-01T18:12:00.795+0000 I CONTROL  [initandlisten] OpenSSL version: OpenSSL 1.0.2g  1 Mar 2016
2018-11-01T18:12:00.795+0000 I CONTROL  [initandlisten] allocator: tcmalloc
2018-11-01T18:12:00.795+0000 I CONTROL  [initandlisten] modules: none
2018-11-01T18:12:00.796+0000 I CONTROL  [initandlisten] build environment:
2018-11-01T18:12:00.796+0000 I CONTROL  [initandlisten]     distmod: ubuntu1604
2018-11-01T18:12:00.796+0000 I CONTROL  [initandlisten]     distarch: x86_64
2018-11-01T18:12:00.796+0000 I CONTROL  [initandlisten]     target_arch: x86_64
2018-11-01T18:12:00.796+0000 I CONTROL  [initandlisten] options: {}
2018-11-01T18:12:00.796+0000 I STORAGE  [initandlisten]
2018-11-01T18:12:00.796+0000 I STORAGE  [initandlisten] ** WARNING: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine
2018-11-01T18:12:00.796+0000 I STORAGE  [initandlisten] **          See http://dochub.mongodb.org/core/prodnotes-filesystem
2018-11-01T18:12:00.796+0000 I STORAGE  [initandlisten] wiredtiger_open config: create,cache_size=478M,session_max=20000,eviction=(threads_min=4,threads_max=4),config_base=false,statistics=(fast),log=(enabled=true,archive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000),statistics_log=(wait=0),verbose=(recovery_progress),
2018-11-01T18:12:01.355+0000 I STORAGE  [initandlisten] WiredTiger message [1541095921:355799][1:0x7fcba0868a00], txn-recover: Set global recovery timestamp: 0
2018-11-01T18:12:01.376+0000 I RECOVERY [initandlisten] WiredTiger recoveryTimestamp. Ts: Timestamp(0, 0)
2018-11-01T18:12:01.412+0000 I CONTROL  [initandlisten]
2018-11-01T18:12:01.412+0000 I CONTROL  [initandlisten] ** WARNING: Access control is not enabled for the database.
2018-11-01T18:12:01.412+0000 I CONTROL  [initandlisten] **          Read and write access to data and configuration is unrestricted.
2018-11-01T18:12:01.412+0000 I CONTROL  [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended.
2018-11-01T18:12:01.412+0000 I CONTROL  [initandlisten]
2018-11-01T18:12:01.412+0000 I CONTROL  [initandlisten] ** WARNING: This server is bound to localhost.
2018-11-01T18:12:01.412+0000 I CONTROL  [initandlisten] **          Remote systems will be unable to connect to this server.
2018-11-01T18:12:01.412+0000 I CONTROL  [initandlisten] **          Start the server with --bind_ip <address> to specify which IP
2018-11-01T18:12:01.412+0000 I CONTROL  [initandlisten] **          addresses it should serve responses from, or with --bind_ip_all to
2018-11-01T18:12:01.412+0000 I CONTROL  [initandlisten] **          bind to all interfaces. If this behavior is desired, start the
2018-11-01T18:12:01.412+0000 I CONTROL  [initandlisten] **          server with --bind_ip 127.0.0.1 to disable this warning.
2018-11-01T18:12:01.412+0000 I CONTROL  [initandlisten]
2018-11-01T18:12:01.412+0000 W CONTROL  [initandlisten]
2018-11-01T18:12:01.412+0000 W CONTROL  [initandlisten]
2018-11-01T18:12:01.413+0000 I CONTROL  [initandlisten]
2018-11-01T18:12:01.413+0000 I STORAGE  [initandlisten] createCollection: admin.system.version with provided UUID: 7b9b32ca-b229-4cf2-bf2b-8a58d88ab429
2018-11-01T18:12:01.439+0000 I COMMAND  [initandlisten] setting featureCompatibilityVersion to 4.0
2018-11-01T18:12:01.442+0000 I STORAGE  [initandlisten] createCollection: local.startup_log with generated UUID: d3b9e873-6a23-40e5-a370-a06d7e5de150
2018-11-01T18:12:01.470+0000 I FTDC     [initandlisten] Initializing full-time diagnostic data capture with directory '/data/db/diagnostic.data'
2018-11-01T18:12:01.472+0000 I NETWORK  [initandlisten] waiting for connections on port 27017
2018-11-01T18:12:01.472+0000 I STORAGE  [LogicalSessionCacheRefresh] createCollection: config.system.sessions with generated UUID: 5adeac12-6925-4b52-b31b-d00990f8a5d9
2018-11-01T18:12:01.514+0000 I INDEX    [LogicalSessionCacheRefresh] build index on: config.system.sessions properties: { v: 2, key: { lastUse: 1 }, name: "lsidTTLIndex", ns: "config.system.sessions", expireAfterSeconds: 1800 }
2018-11-01T18:12:01.514+0000 I INDEX    [LogicalSessionCacheRefresh]     building index using bulk method; build may temporarily use up to 500 megabytes of RAM
2018-11-01T18:12:01.515+0000 I INDEX    [LogicalSessionCacheRefresh] build index done.  scanned 0 total records. 0 secs

Я поступаю неправильно?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...