Pycharm & Docker
-
Mal die letzten Tage viel mit Docker rumgespielt. Da gibt es in Pycharm auch eine tolle Integration für.
Strg & Alt & S
dann kommt man in die Settings von Pycharm, oder über das Menü File -> Settings. Als erstes das Docker Plugin installieren.
Grundvoraussetzung ist natürlich, das Docker auf Eurer Kiste installiert ist.
~ docker version ✔ Client: Version: 23.0.1 API version: 1.42 Go version: go1.20 Git commit: a5ee5b1dfc Built: Sat Feb 11 13:58:04 2023 OS/Arch: linux/amd64 Context: default Server: Engine: Version: 23.0.1 API version: 1.42 (minimum version 1.12) Go version: go1.20 Git commit: bc3805a0a0 Built: Sat Feb 11 13:58:04 2023 OS/Arch: linux/amd64 Experimental: false containerd: Version: v1.6.16 GitCommit: 31aa4358a36870b21a992d3ad2bef29e1d693bec.m runc: Version: 1.1.4 GitCommit: docker-init: Version: 0.19.0 GitCommit: de40ad0
Danach die Settings vom Docker Plugin. Findet man unter Build, Execution, Deployment
Wichtig ist der Text Connection Successful
Nun kann Pycharm mit dem Docker Images bauen und starten. Dazu legt man ein neues File mit dem Namen dockerfile an. Hier mal eines aus meinem aktuellen Projekt.
#WORKDIR /home/frankm/PycharmProjects/scraping/ FROM python:3.10 # Or any preferred Python version. WORKDIR /root ADD main.py . ADD stocks_list.json . ADD buy_stocks_list.json . RUN apt update && apt upgrade -y RUN apt install -y locales RUN sed -i -e 's/# de_DE.UTF-8 UTF-8/de_DE.UTF-8 UTF-8/' /etc/locale.gen && \ dpkg-reconfigure --frontend=noninteractive locales && \ update-locale LANG=de_DE.UTF-8 RUN pip install --upgrade pip RUN pip install requests beautifulsoup4 pywebio pywebio_battery yfinance pandas pyecharts CMD python main.py # Or enter the name of your unique directory and parameter set.
Das ist, für Einsteiger erklärt, der Bauplan des Images welches man als Docker Container laufen lassen möchte.
Man benutzt das Image python:3.10 und wendet darauf eine Reihe von Befehlen an und wenn alles funktioniert hat, startet er am Ende den Docker Container
Hier ein gekürzter Auszug aus dem Build Log.
Step 9/11 : RUN pip install --upgrade pip ---> Using cache ---> 411c6c0e2b46 Step 10/11 : RUN pip install requests beautifulsoup4 pywebio pywebio_battery yfinance pandas pyecharts ---> Using cache ---> 1fc55daee1ed Step 11/11 : CMD python main.py ---> Using cache ---> 522420930488 Successfully built 522420930488 Successfully tagged latest:latest Existing container found: 8b1ac1356aafb6574ea7e81f951e6fdd9c0ba05a9f4031d84492eb74309f92e1, removing… Creating container… Container Id: 9edb9e30fab209f1c9f704507f20b284d2d15b6eff38b65a8f24b5e3b347e4c1 Container name: 'python-portfolio' Starting container 'python-portfolio' 'python-portfolio Dockerfile: dockerfile' has been deployed successfully.
Hier kann man sehen, das der Docker Container erfolgreich gestartet wurde.
Oben rechts in Pycharm findet man das hier
Dort kann man auch Umschalter, zwischen Python & Docker. Sehr sinnvoll, wenn man wie ich nicht sattelfest in Python ist und mal richtig rumprobiert. Macht ja dann nicht wirklich Sinn, jedes mal den Docker Container zu deployen.
Viel Spaß beim Dockern
-