Skip to content

Pycharm & Docker

Verschoben Linux
  • 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.

    35fcc4b0-93e6-4c95-8050-02135084866c-grafik.png

    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

    7e4532c5-fb73-4964-9f98-5b37f20760d3-grafik.png

    Wichtig ist der Text Connection Successful

    55649a61-7556-4b0c-85b2-3efaf12633a9-grafik.png

    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

    092cb953-aabf-4e0a-bad3-ac71ab1d4ddc-grafik.png

    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 😉

  • FrankMF FrankM verschob dieses Thema von Privat am

  • Update 1.32.7 - Security Fixes!

    Vaultwarden
    1
    0 Stimmen
    1 Beiträge
    82 Aufrufe
    Niemand hat geantwortet
  • Nextcloud - Update auf 28.0.0

    Nextcloud
    5
    +2
    0 Stimmen
    5 Beiträge
    459 Aufrufe
    FrankMF
    28.0.1 ist da. Den Log Reader wieder aktiviert. Gleiches Verhalten. Kann ich so leider nicht gebrauchen, also wieder deaktiviert.
  • 0 Stimmen
    1 Beiträge
    2k Aufrufe
    Niemand hat geantwortet
  • checkmk - Apache2 vs. NGINX

    checkmk
    2
    0 Stimmen
    2 Beiträge
    572 Aufrufe
    FrankMF
    Ich musste am Ende wieder den Apachen installieren, da checkmk zu viele Abhängigkeiten hat. So was wie omd-apache2(?), wurde mir dann als Fehler angezeigt. Die Server waren auf einmal offline usw. Schade, aber letztendlich für den Container auch egal. Oben im Apachen die SSL Sicherheit erhöht. [image: 1632559940229-4ba2853c-d5a3-422d-b787-b9f66256b511-grafik.png]
  • Debian 11 Bullseye released!

    Linux
    4
    0 Stimmen
    4 Beiträge
    309 Aufrufe
    FrankMF
    Mein Systemadmin auf der Arbeit meinte heute, angesprochen auf das Problem, läuft der Network-Manager? Ok, gute Frage...... Schauen wir mal. Ich bin mir leider nicht 100% sicher, ob er vor meinem Eingreifen lief, ich denke aber schon. Warum ich unsicher bin? root@debian:~# systemctl enable systemd-networkd.service Created symlink /etc/systemd/system/dbus-org.freedesktop.network1.service → /lib/systemd/system/systemd-networkd.service. Created symlink /etc/systemd/system/multi-user.target.wants/systemd-networkd.service → /lib/systemd/system/systemd-networkd.service. Created symlink /etc/systemd/system/sockets.target.wants/systemd-networkd.socket → /lib/systemd/system/systemd-networkd.socket. Created symlink /etc/systemd/system/network-online.target.wants/systemd-networkd-wait-online.service → /lib/systemd/system/systemd-networkd-wait-online.service. Ok, danach root@debian:~# systemctl start systemd-networkd.service root@debian:~# systemctl status systemd-networkd.service ● systemd-networkd.service - Network Service Loaded: loaded (/lib/systemd/system/systemd-networkd.service; enabled; ven> Active: active (running) since Tue 2021-08-17 17:36:38 CEST; 6s ago TriggeredBy: ● systemd-networkd.socket Docs: man:systemd-networkd.service(8) Main PID: 1288 (systemd-network) Status: "Processing requests..." Tasks: 1 (limit: 19087) Memory: 3.9M CPU: 39ms CGroup: /system.slice/systemd-networkd.service └─1288 /lib/systemd/systemd-networkd Aug 17 17:36:38 debian systemd[1]: Starting Network Service... Aug 17 17:36:38 debian systemd-networkd[1288]: enp25s0: Gained IPv6LL Aug 17 17:36:38 debian systemd-networkd[1288]: Enumeration completed Aug 17 17:36:38 debian systemd[1]: Started Network Service. Danach ging immer noch nix. root@debian:/etc/network# ^C root@debian:/etc/network# nmcli device show GENERAL.DEVICE: wlx7cdd907cbec2 GENERAL.TYPE: wifi GENERAL.HWADDR: BA:59:C0:76:C7:F5 GENERAL.MTU: 1500 GENERAL.STATE: 20 (nicht verfügbar) GENERAL.CONNECTION: -- GENERAL.CON-PATH: -- GENERAL.DEVICE: enp25s0 GENERAL.TYPE: ethernet GENERAL.HWADDR: 30:9C:23:60:C6:8E GENERAL.MTU: 1500 GENERAL.STATE: 10 (nicht verwaltet) GENERAL.CONNECTION: -- GENERAL.CON-PATH: -- WIRED-PROPERTIES.CARRIER: an IP4.ADDRESS[1]: 192.168.3.169/24 IP4.GATEWAY: 192.168.3.1 IP4.ROUTE[1]: dst = 192.168.3.0/24, nh = 0.0.0.0, mt = 0 IP4.ROUTE[2]: dst = 0.0.0.0/0, nh = 192.168.3.1, mt = 0 IP6.ADDRESS[1]: 2a02:908:1260:13bc:329c:23ff:xxxx:xxxx/64 IP6.ADDRESS[2]: fd8a:6ff:2880:0:329c:23ff:fe60:c68e/64 IP6.ADDRESS[3]: fe80::329c:23ff:fe60:c68e/64 IP6.GATEWAY: fe80::e4d3:f0ff:fe8f:2354 IP6.ROUTE[1]: dst = fe80::/64, nh = ::, mt = 256 IP6.ROUTE[2]: dst = ::/0, nh = fe80::e4d3:f0ff:fe8f:2354, mt = 1024 IP6.ROUTE[3]: dst = 2a02:908:xxxx:xxxx::/64, nh = ::, mt = 256 IP6.ROUTE[4]: dst = fd8a:6ff:2880::/64, nh = ::, mt = 256 Jetzt hatte ich das erste Mal einen Ansatz, wonach ich suchen musste. GENERAL.STATE: 10 (nicht verwaltet) Etwas Suche im Netz und dann das nano /etc/NetworkManager/NetworkManager.conf Inhalt der Datei [main] plugins=ifupdown,keyfile [ifupdown] managed=false Das false in true geändert. Danach ein systemctl restart NetworkManager und ich konnte den Network-Manager auf dem Desktop benutzen!?!?!? [image: 1629216580219-bildschirmfoto-vom-2021-08-17-18-07-25.png] Irgendwas ist da durcheinander im Bullseye
  • Kopia - Administrative Aufgaben

    Kopia
    1
    0 Stimmen
    1 Beiträge
    269 Aufrufe
    Niemand hat geantwortet
  • ROCKPro64 - Zwei LAN Schnittstellen / VLAN einrichten

    ROCKPro64
    4
    0 Stimmen
    4 Beiträge
    595 Aufrufe
    FrankMF
    Das Setup heute mal getestet um zu sehen, ob das auch so funktioniert. LAN an meine Fritzbox (DHCP) an eth1.100 mein Notebook an eth1.200 meine PS4 Und dann mal gemütlich eine Runde MW gezockt. Läuft alles einwandfrei
  • Node.js Paketmanager npm Sicherheitsproblem!

    Linux
    1
    0 Stimmen
    1 Beiträge
    244 Aufrufe
    Niemand hat geantwortet