Skip to content

Pycharm & Docker

Verschoben Linux
1 1 324
  • 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
  • 451 Stimmen
    27 Beiträge
    90 Aufrufe
    A
    This is the kind of news I want to keep seein’!
  • Flask Projekt auf einem anderen Rechner installieren

    Python3 python flask linux
    1
    0 Stimmen
    1 Beiträge
    196 Aufrufe
    Niemand hat geantwortet
  • Pycharm - AI Assistant

    Linux pycharm linux
    1
    2
    0 Stimmen
    1 Beiträge
    312 Aufrufe
    Niemand hat geantwortet
  • 10G

    Linux 10g linux
    2
    0 Stimmen
    2 Beiträge
    219 Aufrufe
    FrankMF
    Bedingt durch ein paar Probleme mit der Forensoftware, habe ich einen kleinen Datenverlust erlitten. Dazu gehören auch hier einige Beiträge. Dann versuche ich das mal zu rekonstruieren. Oben hatten wir das SFP+ Modul ja getestet. Als nächsten Schritt habe ich die ASUS XG-C100F 10G SFP+ Netzwerkkarte in meinen Hauptrechner verbaut. [image: 1635752117002-20211028_162455_ergebnis.jpg] Die Verbindung zum Zyxel Switch erfolgt mit einem DAC-Kabel. Im Video zum Zyxel Switch wurde schön erklärt, das die DAC Verbindung stromsparender als RJ45 Adapter sind. Somit fiel die Wahl auf die DAC Verbindungen. Hier nochmal das Video. https://www.youtube.com/watch?v=59I-RlliRms So sieht so ein DAC Verbindungskabel aus. Die SFP+ Adapter sind direkt daran montiert. [image: 1635752308951-20211028_170118_ergebnis.jpg] ethtool root@frank-MS-7C37:/home/frank# ethtool enp35s0 Settings for enp35s0: Supported ports: [ FIBRE ] Supported link modes: 100baseT/Full 1000baseT/Full 10000baseT/Full 2500baseT/Full 5000baseT/Full Supported pause frame use: Symmetric Receive-only Supports auto-negotiation: Yes Supported FEC modes: Not reported Advertised link modes: 100baseT/Full 1000baseT/Full 10000baseT/Full 2500baseT/Full 5000baseT/Full Advertised pause frame use: Symmetric Advertised auto-negotiation: Yes Advertised FEC modes: Not reported Speed: 10000Mb/s Duplex: Full Port: FIBRE PHYAD: 0 Transceiver: internal Auto-negotiation: on Supports Wake-on: pg Wake-on: g Current message level: 0x00000005 (5) drv link Link detected: yes iperf3 ----------------------------------------------------------- Server listening on 5201 ----------------------------------------------------------- Accepted connection from 192.168.3.207, port 44570 [ 5] local 192.168.3.213 port 5201 connected to 192.168.3.207 port 44572 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-1.00 sec 1.10 GBytes 9.43 Gbits/sec 46 1.59 MBytes [ 5] 1.00-2.00 sec 1.10 GBytes 9.42 Gbits/sec 0 1.60 MBytes [ 5] 2.00-3.00 sec 1.10 GBytes 9.42 Gbits/sec 3 1.60 MBytes [ 5] 3.00-4.00 sec 1.10 GBytes 9.42 Gbits/sec 0 1.60 MBytes [ 5] 4.00-5.00 sec 1.10 GBytes 9.42 Gbits/sec 0 1.61 MBytes [ 5] 5.00-6.00 sec 1.10 GBytes 9.42 Gbits/sec 0 1.63 MBytes [ 5] 6.00-7.00 sec 1.10 GBytes 9.42 Gbits/sec 0 1.63 MBytes [ 5] 7.00-8.00 sec 1.09 GBytes 9.41 Gbits/sec 0 1.68 MBytes [ 5] 8.00-9.00 sec 1.10 GBytes 9.42 Gbits/sec 0 1.68 MBytes [ 5] 9.00-10.00 sec 1.10 GBytes 9.42 Gbits/sec 0 1.68 MBytes [ 5] 10.00-10.02 sec 22.5 MBytes 9.45 Gbits/sec 0 1.68 MBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.02 sec 11.0 GBytes 9.42 Gbits/sec 49 sender
  • NanoPi R4S - Armbian

    NanoPi R4S armbian linux nanopir4s
    2
    0 Stimmen
    2 Beiträge
    423 Aufrufe
    FrankMF
    Müsste seit gestern so weit sein [image: 1612720791407-b20f93d2-1719-40c5-afb8-6b4edafa6793-image.png]
  • Kopia - APT Repository verfügbar

    Kopia kopia linux
    1
    0 Stimmen
    1 Beiträge
    241 Aufrufe
    Niemand hat geantwortet
  • Restic & Rclone & Nextcloud

    Linux nextcloud rclone linux restic
    3
    0 Stimmen
    3 Beiträge
    843 Aufrufe
    FrankMF
    Hier mal eine Ausgabe vom ersten Durchgang root@frank-MS-7C37:~# restic --password-file /root/passwd -r rclone:Nextcloud:HOME_UBUNTU backup --files-from /root/includes.txt repository 99xxxxa0 opened successfully, password is correct created new cache in /root/.cache/restic rclone: 2020/05/08 17:47:57 ERROR : locks: error listing: directory not found rclone: 2020/05/08 17:47:58 ERROR : index: error listing: directory not found rclone: 2020/05/08 17:47:58 ERROR : snapshots: error listing: directory not found Files: 3503 new, 0 changed, 0 unmodified Dirs: 2 new, 0 changed, 0 unmodified Added to the repo: 16.872 GiB processed 3503 files, 21.134 GiB in 1:02:56 snapshot fdxxxxec saved Der erste Durchgang hat also etwa eine Stunde benötigt. Durch die Deduplikation der Daten, ist der Vorgang beim zweiten Durchgang viel schneller weil nur neue oder geänderte Daten gesichert werden. Und außerdem sind alle Daten AES-256 verschlüsselt. Also perfekt zur Ablage in irgendeiner Cloud root@frank-MS-7C37:~# restic --password-file /root/passwd -r rclone:Nextcloud:HOME_UBUNTU backup --files-from /root/includes.txt repository 99xxxxa0 opened successfully, password is correct Files: 57 new, 41 changed, 3449 unmodified Dirs: 0 new, 2 changed, 0 unmodified Added to the repo: 22.941 MiB processed 3547 files, 21.137 GiB in 0:13 snapshot c6xxxxe4 saved Wie ihr seht, hat der zweite Durchgang nur ein paar neue und geänderte Daten gesichert. Der Rest ist ja schon vorhanden. Und das kann man dann auch problemlos täglich, wöchentlich oder was auch immer mal eben schnell durchführen. Eines meiner absoluten Lieblingstool
  • Bananian auf HDD installieren

    BananaPi bananapi linux
    1
    0 Stimmen
    1 Beiträge
    926 Aufrufe
    Niemand hat geantwortet