Ich habe einen Docker-Kurs bei udemy besucht, daher werde ich einen Teil davon als Memorandum zusammenfassen. Dieses Mal möchte ich den Code schreiben, um jupyter-lab basierend auf Ubuntu in der Docker-Datei zu starten und den Container tatsächlich zu erstellen.
dockerfile
# FROM =>Wählen Sie ein Basisbild aus
FROM ubuntu:latest
# RUN =>Rufen Sie einen Befehl auf
# apt-Upgrade erhalten und installieren Sie die erforderlichen Pakete
RUN apt-get update
RUN apt-get install -y \
wget \
vim
# WORKDIR =>Erstellen und verschieben Sie ein beliebiges Verzeichnis direkt unter dem Stamm auf der Containerseite
WORKDIR /opt
#Installieren Sie anaconda3 und löschen Sie die ursprüngliche ausführbare Datei
# wget =>Laden Sie die Datei herunter, indem Sie die URL angeben
# sh =>Führen Sie ein Shell-Skript aus
# -b =>Vermeiden Sie interaktive Operationen
# -p =>Geben Sie das Installationsziel an
# rm =>Löschen Sie die angegebene Datei
# -f =>Zwangsausführung
RUN wget https://repo.continuum.io/archive/Anaconda3-2019.10-Linux-x86_64.sh && \
sh /opt/Anaconda3-2019.10-Linux-x86_64.sh -b -p /opt/anaconda3 && \
rm -f Anaconda3-2019.10-Linux-x86_64.sh
#Gehen Sie durch den Pfad von anaconda3
# ENV =>Umgebungsvariablen ändern
ENV PATH /opt/anaconda3/bin:$PATH
#Pip Upgrade
RUN pip install --upgrade pip
#Kehre direkt unter root zurück
WORKDIR /
#Öffnen Sie das Jupiter-Labor, wenn Sie den Container starten
# CMD =>Geben Sie den Befehl an, der ausgeführt werden soll, wenn der Container gestartet wird
# "jupyter", "lab" =>Starten Sie das Jupiter-Labor
# "--ip=0.0.0.0" =>IP-Einschränkungen entfernen
# "--allow-root" =>Root-Benutzer zulassen, nicht gut für die Sicherheit
# "LabApp.token=''" = >Es kann ohne Token gestartet werden. Nicht gut für die Sicherheit
CMD ["jupyter", "lab", "--ip=0.0.0.0", "--allow-root", "--LabApp.token=''"]
Führen Sie das Verzeichnis aus, in dem sich die Docker-Datei befindet
docker build -t my-anaconda .
-t
Geben Sie dem Bild, das Sie erstellen möchten, einen beliebigen Namen.
.
Das Verzeichnis, in dem sich die Docker-Datei befindet, wird angegeben.
Geben Sie dieses Mal das aktuelle Verzeichnis an.
docker run -it \
-p 8888:8888 \
--rm \
--name my-container(Irgendein)\
-v Desktop/ds_python:/opt \
my-anaconda
Wenn Sie diesen Container ausführen
I 11:42:41.250 LabApp] Writing notebook server cookie secret to /root/.local/share/jupyter/runtime/notebook_cookie_secret
[W 11:42:41.535 LabApp] All authentication is disabled. Anyone who can connect to this server will be able to run code.
[I 11:42:41.546 LabApp] JupyterLab extension loaded from /opt/anaconda3/lib/python3.7/site-packages/jupyterlab
[I 11:42:41.546 LabApp] JupyterLab application directory is /opt/anaconda3/share/jupyter/lab
[I 11:42:41.548 LabApp] Serving notebooks from local directory: /
[I 11:42:41.548 LabApp] The Jupyter Notebook is running at:
[I 11:42:41.548 LabApp] http://23a5a126fd40:8888/
[I 11:42:41.548 LabApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[W 11:42:41.552 LabApp] No web browser found: could not locate runnable browser.
Geben Sie danach im Webbrowser "localhost: 8888" ein und überprüfen Sie es.
OK, wenn dies auf dem Bildschirm angezeigt wird
Wenn Sie danach eine Bibliothek oder ein Paket in anaconda möchten, können Sie es installieren, indem Sie "RUN" in die Docker-Datei schreiben. Als nächstes möchte ich eine Docker-Datei für die Webentwicklung schreiben.
https://qiita.com/komiya_____/items/96c14485eb035701e218 https://www.udemy.com/course/aidocker/learn/lecture/20311429#overview
Recommended Posts