Docker-compose:在SIGTERM之后closures端口

我在我的开发环境中使用Docker和Docker Compose。

当我在项目之间切换时,通常会遇到一些麻烦,因为我收到了PORT ALREADY IN USE错误。

如果我做docker-compose up (这使得我的轨道服务器启动),是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 ,但有时我必须kill -9一些进程。

这里是例如ps -edf | grep docker 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 然后,您可以用干净的方式closuresdocker-compose stop