我在alpine上使用docker安装mysql仍然存在问题。我还需要安装openjdk:8u201-jdk-alpine3.9。以下是我的dockerfile:
同样适用于本地主机。
FROM openjdk:8u201-jdk-alpine3.9
RUN apk update && \
apk add mysql mysql-client && \
rm -f /var/cache/apk/* && \
addgroup mysql mysql && \
mkdir run/mysqld && \
touch /var/run/mysqld/mysqld.sock && \
touch /var/run/mysqld/mysqld.pid && \
chown -R mysql:mysql /var/run/mysqld/mysqld.sock && \
chown -R mysql:mysql /var/run/mysqld/mysqld.pid && \
chmod -R 644 /var/run/mysqld/mysqld.sock && \
apk add openrc --no-cache
但是,在容器中: - 没有mysql服务(只有mariadb,但这可能是alpine的标准情况) - /etc/mysql目录中没有任何my.cnf文件
当我尝试使用mysql
命令时,出现了错误:
Can't connect to local MySQL server through socket '/run/mysqld/mysqld.sock' (111)
当我尝试运行命令 mysql -h 127.0.0.1 -P 3306 -u root
时,出现了错误:
Can't connect to MySQL server on '127.0.0.1' (115)
同样适用于本地主机。
docker-compose.yml
文件中添加一个单独的 MySQL 容器。Docker 文档包括一个 Django 和 PostgreSQL 示例应用程序,这应该是一个足够合理的起点。 - David Maze