2025-11-17 06:16PM
我有一个项目是rails项目是放在了docker里面,在docker里面使用bundle exec rails server -b 0.0.0.0 -p 9903已经启动了,但是在浏览器访问localhost:9903确提示
报错内容如下:
连接失败
Firefox 无法建立到 localhost:3000 服务器的连接。
此站点暂时无法使用或者太过忙碌。请过几分钟后再试。
如果您无法加载任何网页,请检查您计算机的网络连接状态。
如果您的计算机或网络受到防火墙或者代理服务器的保护,请确认 Firefox 已被授权访问网络。
解决方法:
主要是因为我在 docker-compose.yml 中没有增加 ports 的配置,没有将容器的3000端口映射到宿主机
backend_system_admin:
container_name: 'backend_system_admin'
build: ../backend_system_admin
volumes:
- ../backend_system_admin:/opt/app
- ../images:/opt/app/images
# 取消注释这行来启动 Rails 服务器
command: ["sh", "-c", "echo 'starting backend_system_admin...' && cd /opt/app && pwd && rm tmp/pids/* -rf && echo '正式启动' && bundle exec rails s -p 9903 -b 0.0.0.0"]
# 添加端口映射
ports:
- "9903:9903"
environment:
- DATABASE_HOST=mysql
- DATABASE_USERNAME=root
- DATABASE_PASSWORD=666666
- DATABASE_NAME=test
- COMMUNICATOR_REDIS_URL=redis://exchange_redis:6379/3
- MATCHER_REDIS_URL=redis://exchange_redis:6379/1
- REDIS_URL=redis://exchange_redis:6379
- REDIS_PASSWORD=""
networks:
- exchange-network
然后再重启docker-compose,浏览器就可以正常访问lcoalhsot:3000了
登录
请登录后再发表评论。
评论列表:
目前还没有人发表评论