Salut,

Je débute avec docker, je voudrais lancer un script python, ce script est un mini serveur web en écoute sur le 8888.
Pour faire simple il faut que je le bind sur l'ip de mon interface réseau de la machine hôte, par exemple sur le port 9986.

Check de python est de mon script dans /home/VM1/

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7

# docker run VM1 python --version
Python 2.7.9

# docker run VM1 ls -al /home/VM1/server.py                
-rwxrwxr-x 1 root root 8961 Jan 23 20:36 /home/VM1/server.py

Lancement simple:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
# docker run VM1 /home/VM1/server.py                          
: No such file or directory

# docker run VM1 python /home/VM1/server.py
Traceback (most recent call last):
  File "/home/VM1/server.py", line 265, in <module>
    config_str = open('config.json', 'rb').read()
IOError: [Errno 2] No such file or directory: 'config.json'
Pourtant le config.json est bien la:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
docker run VM1 ls -al /home/VM1/config.json                 
-rwxrwxr-x 1 root root 206 Jan 25 20:16 /home/VM1/config.json
J'ai tenté de faire un docker run VM1 python cd /home/VM1; /home/VM1/server.py, mais ca failed aussi

Au final je souhaiterai pouvoir le lancer comme ceci:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
# docker run -d -p 192.168.16.64:9986:8888 VM1 python /home/VM1/server.py
674fe7b2a3ef6a2f7f641c4b9cc11569fc69d694b0850626e30b155e2264a446
Pas d'erreur mais aucun conteneur ne fonctionne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
Si vous avez une idée. Merci