【问题标题】:Docker-compose: close ports after SIGTERMDocker-compose:在 SIGTERM 之后关闭端口
【发布时间】:2015-07-22 08:19:18
【问题描述】:

我将 Docker 和 Docker Compose 用于我的开发环境。

当我在项目之间切换时,我通常会感到很痛苦,因为我收到了PORT ALREADY IN USE 错误。

如果我执行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,但有时我必须删除kill -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

我做错了吗?

【问题讨论】:

    标签: ruby-on-rails docker docker-compose


    【解决方案1】:

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

    【讨论】:

    • 不知道这个。我会尝试并报告!谢谢
    猜你喜欢
    • 2017-09-26
    • 2023-02-13
    • 1970-01-01
    • 1970-01-01
    • 2019-10-24
    • 2019-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多