2017-06-27 1 views
1

Ursprünglich in einem Dockerfile Ich benutzeBefehl in Aufgabendefinition verursacht Ausnahme

CMD python /app/src/main.py 

einen Prozess in meinem Docker Container zu starten. Es funktioniert wie erwartet.

Ich bin jetzt dabei, diese Docker-Images auf die aws ecs zu verteilen.

Ich möchte diese CMD aus der Dockerfile verschieben und es als Teil der Taskdefinition setzen, weil ich denke, es wird mir mehr Flexibilität bieten.

enter image description here

jedoch, wenn der Docker Behälter nach oben wird spinned, es gibt diese Ausnahme:

container_linux.go:247: starting container process caused "exec: \"python 
/app/src/main.py\": stat python /app/src/main.py: no such file or directory" 

Anscheinend ecs behandelt den CMD-Parameter, als ob es in einer einzigen Datei verweist.

Ich habe versucht, den Befehl als eine Liste dh ["python", " /app/src/main.py"] zu definieren, aber es erhöht nur einen anderen Fehler: container_linux.go:247: starting container process caused "exec: \"[\\\"python\\\"\": executable file not found in $PATH"

+0

Es setzen müssen sieht so aus, als wäre dies eher ein ECS-Problem als ein Docker-Programm ... und was immer Sie python aufrufen, kann den Interpreter nicht finden – eddyce

+1

Versuchen Sie, den Befehl als 'python,/app/src/main.py' zu definieren. Sieht seltsam aus, aber das sehe ich in unseren Taskdefinitionen, die wir aus 'docker-compose.yml' Dateien mit dem [ecs-cli] (http://docs.aws.amazon.com/AmazonECS/latest/developerguide) konvertiert haben /ECS_CLI.html). – jdno

Antwort

3

ich den Befehl als Komma getrennte Zeichenfolge dh

python,/app/src/main.py

Verwandte Themen