यह एक बग है।
मैं सादा गूंज चलाता हूं और --user=docker image द्वारा कमांडलाइन में जोड़ा जाता है।
$ docker run -d --net=cluster --name=management1 --ip=192.168.0.2 mysql/mysql-cluster echo
55b11ea72989fad50b29fe199ad54ebe2a919079770d0188512a465699e8a256
$ docker logs management1
[Entrypoint] MySQL Docker Image 8.0.24-1.2.2-cluster
--user=
संभवतः कुछ समाधान जो MySQL सर्वर को प्रारंभ करने का कार्य करता है, लेकिन Ndb प्रोग्राम के लिए उपयुक्त नहीं है।
संपादित करें#1:
जब तक नई डॉकर छवियां ठीक नहीं हो जाती हैं और आप नीचे दिए गए समाधान को आजमा सकते हैं।
--entrypoint=/usr/bin/env
के साथ ndb प्रोसेस शुरू करते समय यह दोषपूर्ण एंट्रीपॉइंट स्क्रिप्ट को ओवरराइड कर देता है (नोट, इमेज mysql/mysql-cluster
. से पहले होना चाहिए )।
और https://github.com/mysql/mysql-docker/blob/main/mysql-cluster/8.0/docker-entrypoint.sh ।
प्रबंधन सर्वर के लिए एंट्रीपॉइंट को ओवरराइड करें और -f /etc/mysql-cluster.cnf --nodaemon
जोड़ें :
$ docker run -d --net=cluster --name=management1 --ip=192.168.0.2 --entrypoint=/usr/bin/env mysql/mysql-cluster ndb_mgmd -f /etc/mysql-cluster.cnf --nodaemon
दो डेटा नोड्स (मैं ndbmtd
चुनता हूं ndbd
. के बजाय ) एंट्रीपॉइंट को ओवरराइड करें और --nodaemon
. जोड़ें :
$ docker run -d --net=cluster --name=ndb1 --ip=192.168.0.3 --entrypoint=/usr/bin/env mysql/mysql-cluster ndbmtd --nodaemon
$ docker run -d --net=cluster --name=ndb2 --ip=192.168.0.4 --entrypoint=/usr/bin/env mysql/mysql-cluster ndbmtd --nodaemon
mysqld
को प्रारंभ करते समय आपको प्रवेश बिंदु को ओवरराइड नहीं करना चाहिए, मैनुअल से चिपके रहना चाहिए।
संपादित करें#2:
Mysql-cluster docker की छवि अब ठीक हो गई है, नई छवि खींचें और कंटेनरों को फिर से बनाएँ।
$ docker pull mysql/mysql-cluster
Using default tag: latest
latest: Pulling from mysql/mysql-cluster
Digest: sha256:a8ae8a4358f0c2f07aa39df046eb81e8f88cb2bebcaaf436c67663b300a1e1fe
Status: Image is up to date for mysql/mysql-cluster:latest
docker.io/mysql/mysql-cluster:latest
$ docker run -d --net=cluster --name=management1 --ip=192.168.0.2 mysql/mysql-cluster ndb_mgmd
715ad773b51b3d8fefcf6230460b6149a0a0226ee604752352b9e88d8dfa5bb8
$ docker logs management1
[Entrypoint] MySQL Docker Image 8.0.25-1.2.3-cluster
[Entrypoint] Starting ndb_mgmd
MySQL Cluster Management Server mysql-8.0.25 ndb-8.0.25
2021-05-12 07:59:21 [MgmtSrvr] INFO -- The default config directory '/usr/mysql-cluster' does not exist. Trying to create it...
2021-05-12 07:59:21 [MgmtSrvr] INFO -- Sucessfully created config directory
2021-05-12 07:59:21 [MgmtSrvr] WARNING -- at line 19: [DB] IndexMemory is deprecated, will use Number bytes on each ndbd(DB) node allocated for storing indexes instead
2021-05-12 07:59:21 [MgmtSrvr] INFO -- Got initial configuration from '/etc/mysql-cluster.cnf', will try to set it when all
ndb_mgmd(s) started
2021-05-12 07:59:21 [MgmtSrvr] INFO -- Node 1: Node 1 Connected
2021-05-12 07:59:21 [MgmtSrvr] INFO -- Id: 1, Command port: *:1186
==INITIAL==
2021-05-12 07:59:21 [MgmtSrvr] INFO -- MySQL Cluster Management Server mysql-8.0.25 ndb-8.0.25 started
2021-05-12 07:59:22 [MgmtSrvr] INFO -- Node 1 connected
2021-05-12 07:59:22 [MgmtSrvr] INFO -- Starting initial configuration change
2021-05-12 07:59:22 [MgmtSrvr] INFO -- Configuration 1 commited
2021-05-12 07:59:22 [MgmtSrvr] INFO -- Config change completed! New generation: 1
==CONFIRMED==