mysql 那边的表 mysql.user 有 Host 和 User 限制 Host 就是访问者的 ip User 为 root
ip 变了 就不能访问了
因为我的 docker 容器好像重启过了 web 容器的 ip 变了
我把 host 改成了 mysql 现在错误是 Host '172.18.0.5' is not allowed to connect to this MySQL server 是不是 mysql 容器有配置漏了?
这样搞了后 无法在 web 容器内连接 mysql
我的环境是 win12 Docker Desktop 4.24.0
mysql 容器的 ip 是 172.23.0.1,web 容器的 ip 类似 172.18.0.1
能进入 mysql 容器 用 mysql 命令连上 mysqld 服务 然后往 mysql.user 表新增记录 Host 为 172.18.0.1 User 为 root
把 config/database.yml 里 default 块 host 改成<%= ENV.fetch("DB_HOST") { "172.23.0.1" } %>
这样才能正常执行 rails db:create 及以下的命令 并最终跑起来
原来是因为最后一个 volumes 缩进问题
执行 docker-compose up -d 后 显示 parsing C:\Users\inven\weblog\docker-compose.yml: yaml: line 28: did not find expected key
28 行是 - ./data/redis:/data 属于 redis 块
挖坟 joe armstrong dhh potian 的成功不是什么 erlang ruby 的成功 而是他们用技术霸占了市场 而不是因为什么小众语言 一群傻逼 你比他们早发现那些市场 霸占市场 会比他们更成功