Ich benutze Julia v0.4.5 seit einiger Zeit zusammen mit IJulia. Ich versuche jetzt, einen Docker-Container einzurichten, in dem ich den Code in einer meiner JL-Dateien ausführen kann. eine Arbeits Julia in einem Container einzurichten ich den Code in diesem Dockerfile kopiert haben: https://hub.docker.com/r/julialang/julia/~/dockerfile/Docker und Julia - wie man .jl Dateien in einem Container laufen lässt
die oben Verwendung von I julia erhalten mit dem Befehl von meinem Terminal arbeiten
docker run -i -t larajordan/juliatest:0.3
und dann, wenn der Behälter geöffnet Ich benutze den Befehl
julia
Julia aus dem Container-Terminal zu öffnen. Wenn ich die Julia REPL verwende, führe ich normalerweise den folgenden Befehl aus, um eine .jl-Datei auszuführen. Wenn ich dies jedoch von der julia REPL innerhalb des Containers versuche, funktioniert es nicht und gibt die folgende Fehlermeldung aus.
julia> include("/home/lara/SourceCode/researchhpc/wind_spacer/julia_learning/variables.jl")
ERROR: could not open file /home/lara/SourceCode/researchhpc/wind_spacer/julia_learning/variables.jl
in include at ./boot.jl:261
in include_from_node1 at ./loading.jl:320
Ich bin mir ziemlich sicher, dass dies liegt daran, dass der Behälter in sich für die .jl Datei suchen und offensichtlich diese Datei im Container nicht existiert. Ich habe versucht herauszufinden, wie ich meine .jl-Datei in den Contianer kopieren kann, aber es scheint nicht zu funktionieren. Die Methode, die ich versucht habe, ist die folgende, von außerhalb des Behälters:
docker cp filename.jl /var/lib/docker/aufs/mnt/<full docker contianer id>/root/filename.jl
ich den Fehler
cp: cannot create regular file ‘/var/lib/docker/devicemapper/mnt/a2c36e7f6f08c345a668550974a575384b5a3d465f411d3589bd5a6ac0fad13d/rootfs/root’: No such file or directory
Eine andere Sache, ich denke, wird ein Problem verursachen, sobald ich die .jl Datei innerhalb des Behälters erhalten ist, dass die .jl-Datei den Befehl 'using' verwendet. Diese Pakete werden weder zu Julia hinzugefügt noch sind sie im Container verfügbar. Ich muss sie der Container-Version von Julia hinzufügen. Dies kann von der Dockerfile aus geschehen, wenn die, die ich benutze, etwas ist; es scheint, dass IJulia-Paket hinzugefügt und in der Dockerfile mit den folgenden Befehlen erstellt wird.
RUN /opt/julia/bin/julia -e 'Pkg.add("IJulia")'
RUN /opt/julia/bin/julia -e 'Pkg.build("IJulia")'
Jede Hilfe zu bekommen Pakete aus dem Dockerfile und auch immer .jl Dateien hinzugefügt wird, von der Julia REPL in einem Container zu laufen oder einfach nur vom Terminal im Innern des Behälters würde geschätzt laufen.
Dank. Würde das bedeuten, dass ich, wenn ich den Ordner, der auch alle Pakete enthält, einschließe, dass ich Pakete normalerweise verwenden könnte? Ich werde es versuchen. – lara
Entschuldigung, ich denke wir sollten es in 'julia_learning' einbauen, dann kannst du mit Paketen spielen. Ich bin mit Julia nicht so vertraut, aber ich denke, die Hauptbibliothek ist in '/ opt/julia' und wir sollten uns nicht damit befassen – vitr