Docker + MariaDB 给我错误 2002 (HY000):无法通过套接字 '/var/run/mysqld/mysqld.sock' 连接到本地 MySQL 服务器 (2)
Docker + MariaDB gives me ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
我尝试在 Debian 容器中安装和 运行 MariaDB。一切正常,直到我想要 运行 mysql -u root
。这是我的 Dockerfile。
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):无法通过套接字 '/var/run/mysqld/mysqld.sock' (2)
连接到本地 MySQL 服务器
您不能只 运行 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 shell:
docker run -ti --rm --name my-mysql-service my-mysql-image
顺便说一下,dockerhub https://hub.docker.com/_/mariadb 上有官方的 mariadb 镜像,您可以使用它来代替自定义构建。
我尝试在 Debian 容器中安装和 运行 MariaDB。一切正常,直到我想要 运行 mysql -u root
。这是我的 Dockerfile。
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):无法通过套接字 '/var/run/mysqld/mysqld.sock' (2)
连接到本地 MySQL 服务器您不能只 运行 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 shell:
docker run -ti --rm --name my-mysql-service my-mysql-image
顺便说一下,dockerhub https://hub.docker.com/_/mariadb 上有官方的 mariadb 镜像,您可以使用它来代替自定义构建。