Docker + MariaDB выдает ОШИБКУ 2002 (HY000): не удается подключиться к локальному MySQL серверу через сокет '/var/run/mysqld/mysqld.sock' (2) - PullRequest
0 голосов
/ 12 июля 2020

Я пытаюсь установить и запустить MariaDB в контейнере Debian. Все работает, пока не захочу запустить mysql -u root. Вот мой файл Docker.

FROM debian:buster-slim

RUN apt-get update && \
    apt-get install -y curl \
                       build-essential

RUN apt-get install -y mariadb-client
RUN apt-get install -y mariadb-server
RUN service mysql start
RUN mysql -u root

Я получаю следующее сообщение об ошибке: ОШИБКА 2002 (HY000): не удается подключиться к локальному серверу MySQL через сокет '/var/run/mysqld/mysqld.sock' (2)

1 Ответ

0 голосов
/ 12 июля 2020

Вы не можете просто запустить процесс mysql в процедуре сборки. Это нужно делать при запуске контейнера. Пример: Сборка:

FROM debian:buster-slim

RUN apt-get update && \
    apt-get install -y curl \
                       build-essential

RUN apt-get install -y mariadb-client
RUN apt-get install -y mariadb-server

ENTRYPOINT service mysql start && mysql -uroot

Затем образ сборки:

docker build -t my-mysql-image .

И, наконец, вы можете запустить контейнер и войти в оболочку mysql:

docker run -ti --rm --name my-mysql-service my-mysql-image

Автор Кстати, на dockerhub https://hub.docker.com/_/mariadb есть официальный образ mariadb, который можно использовать вместо кастомной сборки.

...