gpt4 book ai didi

docker - 在一个Docker容器中启动两台服务器

转载 作者:行者123 更新时间:2023-12-02 18:55:34 24 4
gpt4 key购买 nike

我已经使用所有配置创建了一个Dockerfile

最后,我想从python server.py运行一台python服务器
也是来自npm start的节点服务器

因为我可以拥有一个CMDENTRYPOINT,当执行docker run时如何启动这两个服务器?

docker 推荐的处理此类情况的方法是什么?

最佳答案

如果要在一个容器中运行多个进程,可以使用supervisord,例如npmpython server

检查documentation for supervisord以获取更多信息。

我只是挑选一些重要的部分。

  • 1,您将需要安装docker镜像supervisor

  • 就像是:
    CentOS: `yum install supervisor`

    Ubuntu: `apt-get install -y supervisor`
  • 2,将 super 用户(supervisord.conf)的配置复制到docker镜像
  • COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf
    在您的情况下, supervisord.conf应该看起来像下面的示例(未经测试):
    [supervisord]
    nodaemon=true

    [program:npm]
    command=npm start

    [program:python]
    command=python server.py

    并在Dockerfile中将 supervisord作为 CMD命令运行:
    ...
    # install supervisord
    # copy supervisord configuration
    ...
    # run supervisord
    CMD ["/usr/bin/supervisord"]

    关于docker - 在一个Docker容器中启动两台服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40204353/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com