Încerc să construiesc mysql
pe imagine docker ubuntu 20.04
, folosind dockerfile și scriptul bash de configurare pentru a instala și configura mysql.
Dockerfile:
DIN ubuntu:20.04
RUN apt-get update -qq && apt-get upgrade -y
ENV MYSQL_DATABASE: „test”
ENV MYSQL_USER: „utilizator1”
ENV MYSQL_PASSWORD: „xxxxx”
ENV MYSQL_ROOT_PASSWORD: „rădăcină”
COPIE . .
RUN DEBIAN_FRONTEND=noninteractiv TZ=Etc/UTC apt-get -y install tzdata
RUN bash configure_mysql.sh
EXPUNERE 3306
Script de configurare:
#!/bin/bash
set -e # Ieșiți imediat din script la prima eroare.
#set -x # Imprimați comenzile și argumentele lor pe măsură ce sunt executate.
# Verificați dacă mediul MySQL este deja instalat
RUN_ONCE_FLAG=~/.mysql_env_build_time
MYSQL_PASSWORD="rădăcină"
dacă [ -e „$RUN_ONCE_FLAG” ]; atunci
echo „Mediul MySQL Server este deja instalat”.
iesirea 0
fi
# Actualizați indexul pachetului Ubuntu
apt-get update -y -qq
# Instalează MySQL 5.5
echo "mysql-server mysql-server/parola_rădăcină parola $MYSQL_PASSWORD" | debconf-set-selections
echo "mysql-server mysql-server/root_password_again parola $MYSQL_PASSWORD" | debconf-set-selections
apt-get install -y mysql-server
# Configura 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 „Parola MySQL setată la „${MYSQL_PASSWORD}”. Nu uitați să ștergeți ~/.mysql.passwd” | tee ~/.mysql.passwd;
mysql -u root -p $MYSQL_PASSWORD -e "ACCORDĂ TOTUL PE *.* LA rădăcină@'%' IDENTIFICAT DE '$MYSQL_PASSWORD'; SPĂRĂ PRIVILEGIILE;";
repornirea serviciului mysql
121.122.1
# Instalează dependențe de bază
echo „se instalează dezarhivare, git și curl”
apt-get install -y unzip git curl
# Configura culoarea promptului
sed -i 's/#force_color_prompt=yes/force_color_prompt=yes/g' ~/.bashrc
echo 'sursa ~/.bashrc' >> ~/.bash_profile
sursa ~/.bash_profile
# Curățarea pachetelor care nu sunt necesare
apt-get autoremove -y
apt-a face curat
# setează indicatorul „rulați o dată”.
data > $RUN_ONCE_FLAG
Cu toate acestea, scriptul de configurare (linia nr. 29) returnează următoarea eroare:
Introduceți parola: EROARE 2002 (HY000): Nu se poate conecta la serverul local MySQL prin socket-ul „/var/run/mysqld/mysqld.sock” (2)
Comanda „/bin/sh -c bash configure_mysql.sh” a returnat un cod diferit de zero: 1
Am încercat să schimb permisiunea trecând:
chown mysql:mysql /var/run/mysqld/
chmod -R 777 /var/run/mysqld/
dar nu merge.
Pot să întreb, cum pot rezolva această problemă?
Asteptam sugestii, multumesc!