Ruby on rails Docker compose无法访问本地主机
我目前正在Ruby on Rails上使用Ruby on rails Docker compose无法访问本地主机,ruby-on-rails,docker,nginx,docker-compose,Ruby On Rails,Docker,Nginx,Docker Compose,我目前正在Ruby on Rails上使用docker compose,但有一个严重的问题。我无法通过在chrome搜索栏上键入localhost:3000来访问localhost。这是docker compose.yml version: '3.6' services: rails: build: context: . dockerfile: ./docker/rails/Dockerfile volumes: - .:/code
docker compose
,但有一个严重的问题。我无法通过在chrome搜索栏上键入localhost:3000
来访问localhost。这是docker compose.yml
version: '3.6'
services:
rails:
build:
context: .
dockerfile: ./docker/rails/Dockerfile
volumes:
- .:/code
environment:
RAILS_ENV: development
restart: always
command: bundle exec rails s -b '0.0.0.0'
nginx:
build: ./docker/nginx
restart: always
ports:
- "3000:80"
depends_on:
- rails
这是docker ps的输出
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
abb871c7091e _ex_nginx "nginx -g 'daemon of…" About a minute ago Up About a minute 0.0.0.0:3000->80/tcp mates_ex_nginx_1
7507ee9496c4 _ex_rails "./docker-rails-entr…" About a minute ago Up About a minute mates_ex_rails_1
而cat/etc/hosts
的结果如下所示
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
255.255.255.255 broadcasthost
127.0.0.1 localhost
::1 localhost
# Added by Docker Desktop
# To allow the same kube context to work on the host and the container:
127.0.0.1 kubernetes.docker.internal
# End of section
在docker日志上,它显示rails正在0.0.0.0:3000
上运行
rails_1 | * Listening on tcp://0.0.0.0:3000
任何答复都将不胜感激!提前谢谢。您能举一个请求失败的例子吗?你从哪里提出请求?请记住,每个容器都是自己的
localhost
,并且不同于主机的localhost
@DavidMaze抱歉,我没有说清楚。我刚在chrome搜索栏上输入localhost:3000,它拒绝连接。你的主机环境是什么?(你在Windows系统上使用Docker工具箱吗?)你的nginx配置在端口80上侦听吗?@DavidMaze我在使用Docker for Mac。是的,在default.conf
文件中,我编写了listen 80 default\u服务器;侦听[:]:80默认_服务器代码>