Docker ubuntu镜像中安装mysql启动失败,sequel pro连接失败

青春壹個敷衍的年華 提交于 2020-01-28 07:28:02

build ubuntu镜像中安装mysql的Dockerfile(包含nginx redis python等等)
Dockerfile

FROM ubuntu:16.04
ARG DEBIAN_FRONTEND=noninteractive

RUN apt-get update \
    && apt-get install -y --no-install-recommends apt-utils \
    && apt-get install -y locales \
    && localedef -i zh_CN -c -f UTF-8 -A /usr/share/locale/locale.alias zh_CN.UTF-8 \
    && apt-get install -y mysql-server \
    && apt-key adv --fetch-keys http://nginx.org/keys/nginx_signing.key \
    && echo "deb http://nginx.org/packages/ubuntu/ xenial nginx \ndeb-src http://nginx.org/packages/ubuntu/ xenial nginx" >> /etc/apt/sources.list \
    && apt-get update \
    && apt-get install -y nginx \
    && apt-get install -y redis-server \
    && apt-get install -y vim git python3 python3-pip python3-venv libmysqlclient-dev python3-dev \
    && apt-get install -y tzdata \
    && apt-get install -y libssl-dev \
    && apt-get install -y wget \
    && apt-get install -y zsh \
    && wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | zsh || true \
    && pip3 install uwsgi
ENV LANG zh_CN.utf8
EXPOSE 22
EXPOSE 80
EXPOSE 3306
EXPOSE 6379

build

docker build -t ubuntu:test .

创建容器并且映射端口到宿主机

docker run -itd --name wang -P ubuntu:test

-P就是随机映射
然后进入容器内部

docker exec -it wang zsh

查看mysql启动状态

service mysql status

在这里插入图片描述
未启动状态,启动mysql

service mysql start

在这里插入图片描述
启动失败
根据这个博主的https://blog.csdn.net/wy_97/article/details/78982694

 usermod -d /var/lib/mysql/ mysql#第一步
ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock#第二步
chown -R mysql:mysql /var/lib/mysql#第三步
#之后重启mysql即可

启动成功
在这里插入图片描述
docker内登录成功,然而通过映射端口用seq pro连接不上
在这里插入图片描述
授权docker 内mysql 远程连接

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

依然失败。

sed 's/127.0.0.1/0.0.0.0/' -i /etc/mysql/mysql.conf.d/mysqld.cnf

然后重启mysql,连接成功。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!