Python 将不同的sys.argv传递到同一docker运行端口

Python 将不同的sys.argv传递到同一docker运行端口,python,docker,flask,deployment,containers,Python,Docker,Flask,Deployment,Containers,我想将系统变量传递到docker run要使用相同的端口,python/flask代码如下: a = sys.argv[1] b = sys.argv[2] c = sys.argv[3] @app.route('/') def run(): return function.do(a, b, c) if __name__ == '__main__': app.run(host='0.0.0.0', debug=True) 在我传入的命令行中: docker run-p

我想将系统变量传递到
docker run
要使用相同的端口,python/flask代码如下:

a = sys.argv[1]
b = sys.argv[2]
c = sys.argv[3]

@app.route('/')

def run():
    return function.do(a, b, c)

if __name__ == '__main__':
    app.run(host='0.0.0.0', debug=True)

在我传入的命令行中:
docker run-p 5000:5000“A”“AB”“ABC”
。但是,在第一次运行中,我能够获得显示在
localhost:5000
中的输出,但第二次尝试时,它将显示端口已分配。我是否能够使用相同的5000端口而不终止容器进程

我猜解决方案将使用不同的端口,如
-p5001:5000
-p5002:5000
等等。我只是想知道是否有办法只使用一个端口?也许是烧瓶的问题


如有任何建议,将不胜感激。非常感谢。

您可以避免在主机上映射端口5000。无论发生什么情况,都不能让两个进程或容器在同一(主机)端口上侦听。您可以将第二个容器映射到不同的主机端口
-p 5001:5000
,或者停止第一个容器,或者以其他方式避免端口冲突。