Ruby on rails Docker compose:SIGTERM后关闭端口

Ruby on rails Docker compose:SIGTERM后关闭端口,ruby-on-rails,docker,docker-compose,Ruby On Rails,Docker,Docker Compose,我正在使用Docker和Docker Compose作为我的开发环境 当我在项目之间切换时,我通常会感到相当痛苦,因为我收到一个已在使用的端口错误 如果我执行docker compose up(这使我的rails服务器启动),Ctrl+C是终止此容器的正确方法吗 这是我的docker compose.yml文件: db: image: postgres ports: - "5432" web: build: . command: bundle exec rails s -

我正在使用Docker和Docker Compose作为我的开发环境

当我在项目之间切换时,我通常会感到相当痛苦,因为我收到一个已在使用的
端口
错误

如果我执行
docker compose up
(这使我的rails服务器启动),
Ctrl+C
是终止此容器的正确方法吗

这是我的
docker compose.yml
文件:

db:
  image: postgres
  ports:
    - "5432"
web:
  build: .
  command: bundle exec rails s -p 3000 -b '0.0.0.0'
  volumes:
    - .:/myapp
  ports:
    - "3000:3000"
  links:
    - db
有时,我只需要删除
/tmp/pids/server.pid
,但有时我必须
杀死-9
一些进程

以下是
ps-edf | grep docker
输出的示例:

root       742     1  0 Jul18 ?        00:01:11 /usr/bin/docker -d -H fd://
root     22341   742  0 Jul21 ?        00:00:00 docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 32781 -container-ip 172.17.0.48 -container-port 5432
root     22510   742  0 Jul21 ?        00:00:00 docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 3030 -container-ip 172.17.0.49 -container-port 3030
root     28766   742  0 Jul21 ?        00:00:00 docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 32783 -container-ip 172.17.0.57 -container-port 5432
root     28886   742  0 Jul21 ?        00:00:00 docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 3000 -container-ip 172.17.0.58 -container-port 3000

我做错什么了吗?

我会使用
docker compose up-d
作为后台进程启动容器。然后,您可以使用
docker compose stop
以干净的方式关闭容器。

我将使用
docker compose up-d
作为后台进程启动容器。然后,您可以使用
docker compose stop
以干净的方式关闭。

不知道这一点。我试试看,然后报告!谢谢,我不知道这件事。我试试看,然后报告!谢谢