Как настроить docker Mysql проверку работоспособности, если я использую секрет для своего пароля, работающий на AWS EC2 Ubuntu - PullRequest
1 голос
/ 01 августа 2020

$ версия: "3.7"

услуги:

db:

image: mysql:5.7

environment:

  MYSQL_ROOT_PASSWORD_FILE: /run/secrets/my_secret

volumes:

  - data-mysql:/var/lib/mysql

ports:

  - 3306:3306

secrets:

  - my_secret

healthcheck:

  test: out=$$(mysqladmin ping -h 111.11.11.11 -P 3306 -u root --

пароль = $$ (cat $$ {FILE__MYSQL_ROOT_PASSWORD}) 2> & 1); эхо $$ вне | grep 'mysqld

жив' || {echo $$ out; выход 1; }

  interval: 10s

  timeout: 5s

  retries: 10

секреты:

my_secret:

file: ./my_file_secret.txt

тома:

data- mysql:

драйвер : местный

1 Ответ

0 голосов
/ 01 августа 2020

Вы можете найти здесь пример используя docker secret , что вы и делаете, но с синтаксисом (для теста):

healthcheck:
      test: out=$$(mysqladmin ping -h localhost -P 3306 -u root --password=$$(cat $${FILE__MYSQL_ROOT_PASSWORD}) 2>&1); echo $$out | grep 'mysqld is alive' || { echo $$out; exit 1; }

Он использует mysqladmin ping и анализирует его вывод, чтобы убедиться, что экземпляр MySQL жив.

...