首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何更改Docker Mysql容器连接端口?

如何更改Docker Mysql容器连接端口?
EN

Stack Overflow用户
提问于 2018-08-06 04:30:13
回答 2查看 5K关注 0票数 0

我正在使用node,docker,mysql和sequelize,并试图将sequelize连接到在docker上运行的mysql容器。它只能通过端口3306连接,尽管我已经将“端口”改为3308-3308。当我查找正在运行的容器时,我得到了mysql数据库的以下内容:

代码语言:javascript
复制
ticketgo_database_1      docker-entrypoint.sh mysqld    Up      3306/tcp,                   
                                                                0.0.0.0:3308->3308/tcp

这就解释了为什么它只能连接到端口3306,但我需要将连接端口从3306改为3306,因为该端口在我的计算机上很忙。我该怎么做呢?

Mysql容器:

代码语言:javascript
复制
  database:
    image: mysql
    environment:
      MYSQL_DATABASE: "ticketgo"
      MYSQL_ROOT_PASSWORD: "pass"
    volumes:
     - "./sql:/docker-entrypoint-initdb.d"
    ports:
    - "3308:3308" 
EN

回答 2

Stack Overflow用户

发布于 2018-08-06 06:43:47

我猜你的应用也是由docker-compose管理的。不需要更改MySQL在其自己的容器中侦听哪个端口。保留squelize to databade:3306,或者不在MySQL docker compose配置中指定端口映射,或者指定:3308:3306,这意味着主机上端口3308将映射到3306容器端口。这并不意味着MySQL会监听3308。它将继续在其容器3306中侦听,并且主机上的新端口3308将被映射到它。

如果您需要从外部docker-compose服务(例如,从主机上的另一个应用程序或MySQL图形用户界面)访问MySQL,则仅指定端口映射

票数 1
EN

Stack Overflow用户

发布于 2018-08-06 04:49:40

在端口部分,将第二个端口更改为您想要的任何端口"3308:3309";

或者您可以在she by -p 3309:3308中执行此操作

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51698028

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档