Рейтинг:0

ошибка подключения к сокету при сборке mysql на образе докера ubuntu 20.04

флаг in

я пытаюсь построить mysql на образ докера ubuntu 20.04, используя файл dockerfile и скрипт конфигурации bash для установки и настройки mysql.

Докерфайл:

ИЗ убунту: 20.04

ЗАПУСК apt-get update -qq && apt-get upgrade -y 

ENV MYSQL_DATABASE: «тест»
ENV MYSQL_USER: 'user1'
ENV MYSQL_PASSWORD: «ххххх»
ENV MYSQL_ROOT_PASSWORD: «корень»

КОПИРОВАТЬ . .

RUN DEBIAN_FRONTEND=noninteractive TZ=Etc/UTC apt-get -y install tzdata

ЗАПУСК bash configure_mysql.sh

ВЫСТАВИТЬ 3306


Скрипт конфигурации:

#!/бин/баш

set -e # Немедленный выход из скрипта при первой ошибке.
#set -x # Печатать команды и их аргументы по мере их выполнения.

# Проверяем, установлена ​​ли уже среда MySQL
RUN_ONCE_FLAG=~/.mysql_env_build_time
MYSQL_PASSWORD="корень"

если [-e "$RUN_ONCE_FLAG"]; тогда
  echo "Среда MySQL Server уже установлена."
  выход 0
фи

# Обновить индекс пакетов Ubuntu
apt-получить обновление -y -qq


# Устанавливает MySQL 5.5
echo "mysql-server mysql-server/root_password password $MYSQL_PASSWORD" | debconf-set-selections
echo "mysql-server mysql-server/root_password_again password $MYSQL_PASSWORD" | debconf-set-selections
apt-get install -y mysql-сервер

# Настраивает MySQL
sed -i 's/127.0.0.1/0.0.0.0/g' /etc/mysql/my.cnf
sed -i '/\[mysqld\]/a\lower_case_table_names=1' /etc/mysql/my.cnf
echo "Пароль MySQL установлен на '${MYSQL_PASSWORD}'. Не забудьте удалить ~/.mysql.passwd" | тройник ~/.mysql.passwd; 
mysql -u root -p $MYSQL_PASSWORD -e "ПРЕДОСТАВИТЬ ВСЕ НА *.* К root@'%' ИДЕНТИФИЦИРОВАННО '$MYSQL_PASSWORD'; FLUSH PRIVILEGES;";
перезапуск службы mysql
121.122.1
# Устанавливает основные зависимости
echo "установка unzip, git и curl"
apt-get install -y разархивировать git curl

# Настраивает цвет подсказки
sed -i 's/#force_color_prompt=yes/force_color_prompt=yes/g' ~/.bashrc
эхо 'источник ~/.bashrc' >> ~/.bash_profile
источник ~/.bash_profile

# Очистка ненужных пакетов
apt-получить автоматическое удаление -y
apt-получить чистый

# устанавливает флаг "выполнить один раз"
дата > $RUN_ONCE_FLAG

Однако сценарий конфигурации (строка № 29) возвращает следующую ошибку:

Введите пароль: ОШИБКА 2002 (HY000): не удается подключиться к локальному серверу MySQL через сокет «/var/run/mysqld/mysqld.sock» (2)
Команда '/bin/sh -c bash configure_mysql.sh' вернула ненулевой код: 1

Я попытался изменить разрешение, передав:

chown mysql:mysql /var/run/mysqld/
chmod -R 777 /var/run/mysqld/

но это не работает. Могу я спросить, как я могу решить эту проблему? Ждем предложений, спасибо!

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.