Не удается подключиться к базе данных по "docker -compose"
Привет.
Я пытаюсь подключиться к базе данных, но не могу подключиться.
Не могли бы вы сказать мне несколько Советы по разрешению этих вопросов?
docker -v
- Docker версия 19.03.5, сборка 633a0ea
docker -compose -v
- docker -композитная версия 1.25.4, сборка 8d51620a
OS
Я пытаюсь запустить Redmine, поэтому я беру "docker -compose.yml" из репозитория битнами в github
https://github.com/bitnami/bitnami-docker-redmine
и выполните эту команду
curl -sSL https://raw.githubusercontent.com/bitnami/bitnami-docker-redmine/master/docker-compose.yml > docker-compose.yml
и проверьте файл.
version: '3'
services:
mariadb:
image: 'bitnami/mariadb:10.3'
environment:
- ALLOW_EMPTY_PASSWORD=yes
- MARIADB_USER=bn_redmine
- MARIADB_DATABASE=bitnami_redmine
volumes:
- 'mariadb_data:/bitnami'
redmine:
image: 'bitnami/redmine:latest'
environment:
- REDMINE_DB_USERNAME=bn_redmine
- REDMINE_DB_NAME=bitnami_redmine
ports:
- '80:3000'
volumes:
- 'redmine_data:/bitnami'
depends_on:
- mariadb
volumes:
mariadb_data:
driver: local
redmine_data:
driver: local
все выглядит хорошо, поэтому я запускаю ниже.
docker-compose up -d
и подожду несколько минут и проверьте журнал с этой командой.
docker-compose logs
это показывает этот журнал. Там написано «Ошибка выполнения 'postInstallation': не удалось подключиться к mariadb: 3306 после 36 попыток".
mariadb_1 | mariadb 05:22:19.39
mariadb_1 | mariadb 05:22:19.40 Welcome to the Bitnami mariadb container
mariadb_1 | mariadb 05:22:19.40 Subscribe to project updates by watching https://github.com/bitnami/bitnami-docker-mariadb
mariadb_1 | mariadb 05:22:19.40 Submit issues and feature requests at https://github.com/bitnami/bitnami-docker-mariadb/issues
mariadb_1 | mariadb 05:22:19.40 Send us your feedback at containers@bitnami.com
mariadb_1 | mariadb 05:22:19.40
mariadb_1 | mariadb 05:22:19.40 INFO ==> ** Starting MariaDB setup **
mariadb_1 | mariadb 05:22:19.44 INFO ==> Validating settings in MYSQL_*/MARIADB_* env vars
mariadb_1 | mariadb 05:22:19.44 WARN ==> You set the environment variable ALLOW_EMPTY_PASSWORD=yes. For safety reasons, do not use this flag in a production environment.
mariadb_1 | mariadb 05:22:19.48 INFO ==> Initializing mariadb database
mariadb_1 | mariadb 05:22:19.51 INFO ==> Installing database
redmine_1 |
redmine_1 | Welcome to the Bitnami redmine container
redmine_1 | Subscribe to project updates by watching https://github.com/bitnami/bitnami-docker-redmine
redmine_1 | Submit issues and feature requests at https://github.com/bitnami/bitnami-docker-redmine/issues
redmine_1 | Send us your feedback at containers@bitnami.com
redmine_1 |
mariadb_1 | mariadb 05:22:23.05 INFO ==> Starting mariadb in background
redmine_1 | nami INFO Initializing redmine
redmine_1 | redmine INFO Configuring Redmine database...
redmine_1 | mysql-c INFO Trying to connect to MySQL server
mariadb_1 | mariadb 05:22:24.12 INFO ==> Configuring authentication
mariadb_1 | mariadb 05:22:24.17 INFO ==> Running mysql_upgrade
mariadb_1 | mariadb 05:22:24.35 INFO ==> Stopping mariadb
mariadb_1 | mariadb 05:22:26.38 INFO ==> ** MariaDB setup finished! **
mariadb_1 |
mariadb_1 | mariadb 05:22:26.42 INFO ==> ** Starting MariaDB **
mariadb_1 | 2020-02-06 5:22:26 0 [Note] /opt/bitnami/mariadb/sbin/mysqld (mysqld 10.3.22-MariaDB) starting as process 1 ...
mariadb_1 | 2020-02-06 5:22:26 0 [Note] InnoDB: Using Linux native AIO
mariadb_1 | 2020-02-06 5:22:26 0 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
mariadb_1 | 2020-02-06 5:22:26 0 [Note] InnoDB: Uses event mutexes
mariadb_1 | 2020-02-06 5:22:26 0 [Note] InnoDB: Compressed tables use zlib 1.2.11
mariadb_1 | 2020-02-06 5:22:26 0 [Note] InnoDB: Number of pools: 1
mariadb_1 | 2020-02-06 5:22:26 0 [Note] InnoDB: Using SSE2 crc32 instructions
mariadb_1 | 2020-02-06 5:22:26 0 [Note] InnoDB: Initializing buffer pool, total size = 128M, instances = 1, chunk size = 128M
mariadb_1 | 2020-02-06 5:22:26 0 [Note] InnoDB: Completed initialization of buffer pool
mariadb_1 | 2020-02-06 5:22:26 0 [Note] InnoDB: If the mysqld execution user is authorized, page cleaner thread priority can be changed. See the man page of setpriority().
mariadb_1 | 2020-02-06 5:22:26 0 [Note] InnoDB: 128 out of 128 rollback segments are active.
mariadb_1 | 2020-02-06 5:22:26 0 [Note] InnoDB: Creating shared tablespace for temporary tables
mariadb_1 | 2020-02-06 5:22:26 0 [Note] InnoDB: Setting file './ibtmp1' size to 12 MB. Physically writing the file full; Please wait ...
mariadb_1 | 2020-02-06 5:22:26 0 [Note] InnoDB: File './ibtmp1' size is now 12 MB.
mariadb_1 | 2020-02-06 5:22:26 0 [Note] InnoDB: Waiting for purge to start
mariadb_1 | 2020-02-06 5:22:26 0 [Note] InnoDB: 10.3.22 started; log sequence number 1625457; transaction id 21
mariadb_1 | 2020-02-06 5:22:26 0 [Note] InnoDB: Loading buffer pool(s) from /bitnami/mariadb/data/ib_buffer_pool
mariadb_1 | 2020-02-06 5:22:26 0 [Note] Plugin 'FEEDBACK' is disabled.
mariadb_1 | 2020-02-06 5:22:26 0 [Note] InnoDB: Buffer pool(s) load completed at 200206 5:22:26
mariadb_1 | 2020-02-06 5:22:26 0 [Note] Server socket created on IP: '0.0.0.0'.
mariadb_1 | 2020-02-06 5:22:26 0 [Warning] 'proxies_priv' entry '@% root@1643f97fe62c' ignored in --skip-name-resolve mode.
mariadb_1 | 2020-02-06 5:22:26 0 [Note] Reading of all Master_info entries succeeded
mariadb_1 | 2020-02-06 5:22:26 0 [Note] Added new Master_info '' to hash table
mariadb_1 | 2020-02-06 5:22:26 0 [Note] /opt/bitnami/mariadb/sbin/mysqld: ready for connections.
mariadb_1 | Version: '10.3.22-MariaDB' socket: '/opt/bitnami/mariadb/tmp/mysql.sock' port: 3306 Source distribution
redmine_1 | Error executing 'postInstallation': Failed to connect to mariadb:3306 after 36 tries
redmine_redmine_1 exited with code 1
Похоже, проблема с базой данных, поэтому я попытался получить доступ к этому экземпляру и попытаться подключить mariadb.
Он работал и мог видеть базы данных.
docker exec -it <mariadb's ID> /bin/bash
--------------------------------------------------------------------------------
I have no name!@c97be876fcf9:/$ mysql -u root -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 9
Server version: 10.3.22-MariaDB Source distribution
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| bitnami_redmine |
| information_schema |
| mysql |
| performance_schema |
| test |
+--------------------+
5 rows in set (0.001 sec)
MariaDB [(none)]>
Так что я думаю, что это проблема с портом, и я добавляю опцию, которая использует специфицированный c порт 3306 и открытый порт 3306 на хост-машине.
ports:
- '3306:3306'
все еще не работает.
Тогда я думаю, попробуйте другой "docker -compose.yml".
, поэтому попробуйте создать новый docker -compose.yml
docker-compose down -v
rm -rf docker-compose.yml
vi docker-compose.yml
и добавьте этот аргумент
version: '3.1'
services:
wordpress:
image: wordpress
restart: always
ports:
- 8080:80
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: exampleuser
WORDPRESS_DB_PASSWORD: examplepass
WORDPRESS_DB_NAME: exampledb
db:
image: mysql:latest
restart: always
environment:
MYSQL_DATABASE: exampledb
MYSQL_USER: exampleuser
MYSQL_PASSWORD: examplepass
MYSQL_RANDOM_ROOT_PASSWORD: '1'
~
это использование WordPress и MySQL отличается от того, что я использую раньше.
Но это не работает.
Может получить доступ к веб-сайту WordPress, но не может подключиться к базе данных.
Поэтому я думаю, что эта проблема не может правильно соединить каждый контейнер, особенно приложение с контейнером базы данных.
Но я понятия не имею, что надо попробовать.
У кого-то есть советы, пожалуйста, скажите мне, что вы знали wledge.
С уважением.
ps 2020-02-07 Я попытался
systemctl stop firewalld
systemctl restart docker
, и это сработало.
Похоже, проблема с брандмауэром. Но я все еще не знаю, что случилось ...