开发者社区 > 弹性计算 > 云服务器ECS > 正文

Docker部署5.7版本MySQL端口无法映射

已解决

  1. 使用如下命令后
  2. 用'docker ps -a'后发现'mysql'端口位置为空 Snipaste_2023-04-14_22-02-58.jpg
docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root  \
-d mysql:5.7

)

展开
收起
游客uja7afoaivwos 2023-04-15 09:10:40 649 0
3 条回答
写回答
取消 提交回答
  • 十年摸盘键,代码未曾试。 今日码示君,谁有上云事。
    采纳回答

    问题排查:

              1.输入命令docker ps 查看地址是否验证

                2.防火墙问题

                3.查看阿里云服务器是否配置端口的安全组

           解决方法:

    数据库安装必须做端口映射才能访问

                  sudo docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql 

                 docker run -d -p 3306:3306 --restart always --privileged=true --name mysql -e MYSQL_ROOT_PASSWORD='123456' -v /mysql/config/my.conf:/etc/my.cof -v=/mysql/data:/var/lib/mysql mysql

    2.关闭防火墙

        # 开放端口:

                      $ systemctl status firewalld

                      $ firewall-cmd  --zone=public --add-port=3306/tcp -permanent

                      $ firewall-cmd  --reload

                  # 关闭防火墙:

                      $ sudo systemctl stop firewall

                 3.配置安全组    注:添加安全组后需要重启

    2023-04-15 09:58:03
    赞同 1 展开评论 打赏
  • 值得去的地方都没有捷径

    正确的命令应该是:

    docker run -p 3306:3306 --name mysql -v /mydata/mysql/log:/var/log/mysql -v /mydata/mysql/data:/var/lib/mysql -v /mydata/mysql/conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7

    这个命令将会创建一个名为mysql的容器,并将容器内部的3306端口映射到主机的3306端口,同时将容器内的数据目录、日志目录、配置文件目录挂载到主机上的/mydata/mysql目录下,以便数据持久化。同时,设置了MYSQL_ROOT_PASSWORD参数,指定了MySQL的root用户的密码为root。

    2023-04-15 10:32:44
    赞同 2 展开评论 打赏
  • 存在即是合理

    查查一下主机的3306端口是否被占用,同时建议提问时把相关信息描述清楚。

    2023-04-15 09:58:03
    赞同 1 展开评论 打赏

云服务器ECS是一种安全可靠、弹性可伸缩的IaaS级云计算服务。在这里你可以获取最新的ECS产品资讯、最前沿的技术交流以及优惠活动等信息,加速自己的技术成长。

相关电子书

更多
应用 Docker 进行持续交付:用技术改变交付路程 立即下载
从Docker到容器服务 立即下载
Docker@Alibaba——超大规模Docker化的实战经验 立即下载