2016-08-17 4 views
0

Ich versuche Cloudera/Clusterdock in einem Docker-Bild für ein Universitätsprojekt ausführen. Dies ist das erste Mal, dass ich docker benutze und bisher habe ich die Anweisungen auf der Cloudera-Website verwendet, die etwas spärlich sind.Ich versuche, Cloudera Image in Docker

ich erfolgreich heruntergeladen Docker und das cloudera Bild und als ich den docker-images Befehl ausführen ich folgendes:

REPOSITORY    TAG     IMAGE ID   CREATED    SIZE 
cloudera/clusterdock latest    9b4d4f1dda22  7 days ago   467.5 MB 

Wenn ich versuche, und den Behälter mit diesem Bild ausgeführt werden. Verwenden Sie den folgenden Befehl

docker run cloudera/clusterdock:latest /bin/bash 

ich folgende Meldung

File "/bin/bash", line 1 
    SyntaxError: Non-ASCII character '\x80' in file /bin/bash on line 2, 
but no encoding declared; see http://www.python.org/peps/pep-0263.html for details 

Nach dem Lesen der pep pep bekommen erwähnte ich weiß, ich brauche die Codierung in einer Datei zu ändern, aber die pep konzentriert sich auf die Python-Dateien und ich bin nicht wissen, eine Python-Datei zu haben, also habe keine Ahnung, wo Sie es finden, um es zu korrigieren. Da ich nur begrenzte Kenntnisse habe, kann ich die bin/bash-Datei nicht ändern, da ich weiß, dass sie sich auf Ihre Maschine auswirken kann.

Jede Hilfe muss davon ausgehen, dass ich wenig Ahnung davon habe, da ich wenig Erfahrung habe.

Antwort

1

Wenn Sie bei Dockerfile für cloudera/clusterdock:latest anschaut, kann man sehen:

ENTRYPOINT ["python"] 

Also, wenn Sie docker run cloudera/clusterdock:latest /bin/bash tun, sind Sie im Grunde python /bin/bash im Inneren des Behälters zu tun. Sie erhalten die gleiche Fehlermeldung angezeigt, wenn Sie, dass in Ihrem Terminal eingeben, normalerweise:

$ python /bin/bash 
    File "/bin/bash", line 1 
SyntaxError: Non-ASCII character '\xe0' in file /bin/bash on line 2, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details 

Sie wollten wahrscheinlich tun:

docker run -it --entrypoint=/bin/bash cloudera/clusterdock:latest 

Blick auf clusterdock.sh zu sehen, wie eigentlich der Behälter soll ausgeführt werden soll .

+0

Ich habe die Clusterdock.sh und die zugehörigen Dokumente angeschaut und ich kann sie nicht verstehen. – Andrew

0

Die zugehörigen Dokumente (z. B. die Beschreibung auf der Docker Hub-Seite des Bildes oder in unserem Blogpost) beschreiben, dass das Clusterdock durch das Sourcing von clusterdock.sh ausgeführt werden soll. Dies ist erforderlich, da das Framework Docker auf dem Hostcomputer steuert.