Jak Uruchomić LLM Lokalnie z Ollama

Każde wywołanie hostowanego API LLM wysyła Twój prompt na cudzy serwer i obciąża Cię opłatą za token. Zerwij połączenie z siecią, a przestanie odpowiadać. Ollama usuwa oba te problemy: pobiera model o otwartych wagach na Twoją maszynę i udostępnia go przez API REST na localhost:11434. Jeden plik binarny pełni rolę menedżera modeli, klienta czatu i serwera. Co Ollama robi naprawdę Ollama opakowuje llama.cpp i podobne silniki wnioskowania, więc nigdy nie musisz dotykać flagi kompilatora ani ścieżki do biblioteki CUDA. ollama pull llama3.2 pobiera skwantyzowany plik modelu (format GGUF) z własnego rejestru Ollama, a nie z Hugging Face, choć potrafi też importować pliki GGUF stamtąd. Uruchomienie modelu przekazuje te wagi do serwera działającego w tle, który ładuje je do RAM-u (lub VRAM-u, jeśli znajdzie kompatybilną GPU), trzyma je w pamięci przez kilka minut po ostatnim zapytaniu, żeby kolejne było szybkie, i zwalnia pamięć, kiedy zapytania przestają napływać. ...

19 września 2026 · 6 min · 1272 słów · SpaghettiCoder

Budować i Publikować Obraz Docker z GitHub Actions

docker build && docker push z własnego laptopa działa dopóki ktoś inny nie musi opublikować tego samego obrazu albo dopóki nie trzeba tego robić przy każdym merge’u bez ciebie przy klawiaturze. GitHub Actions wykonuje ten sam build na serwerach GitHub, nadaje obrazowi tag na podstawie tego, co uruchomiło workflow, i publikuje go w registry, z którego twój krok deploy może zrobić pull. Nic nie dzieje się lokalnie. Co jest potrzebne, żeby zbudować i opublikować obraz Docker z poziomu CI Pięć elementów musi być na miejscu, zanim runner będzie mógł opublikować obraz: ...

11 września 2026 · 7 min · 1439 słów · SpaghettiCoder

Zmienne Środowiskowe i Secrets w Kontenerach Docker

Gdzie kończą zmienne środowiskowe kontenera Uruchamiasz kontener poleceniem -e DB_PASSWORD=hunter2 i sprawdzasz go docker inspect: 1 2 docker run -d --name api -e DB_PASSWORD=hunter2 nginx:alpine docker inspect --format '{{json .Config.Env}}' api 1 ["DB_PASSWORD=hunter2","PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"] Hasło leży tam jawnym tekstem, czytelne dla każdego z dostępem do socketa Docker, dla docker exec api env i dla każdego procesu działającego w kontenerze. To nie jest błąd — dokładnie do tego służą zmienne środowiskowe. Problem pojawia się, gdy używasz ich do wartości, które nigdy nie powinny być aż tak widoczne. ...

9 września 2026 · 6 min · 1119 słów · SpaghettiCoder

Jak Zmniejszyć Rozmiar Obrazu Docker

Dlaczego obraz Docker waży dziesięć razy więcej niż aplikacja Usługa Node z kilkuset kilobajtami kodu źródłowego kończy jako obraz ważący ponad 1 GB. To normalny wynik działającego builda, nie błąd w jakiejś konkretnej linii. Waga bierze się z obrazu bazowego, który dźwiga cały system operacyjny, z toolchaina do builda, którego działająca aplikacja nigdy nie wywołuje, i z cache menedżera pakietów, o którego usunięcie nikt builda nie poprosił. Płacisz za to przy każdym deployu: docker pull działa wolniej, a skaner podatności ma kilkaset dodatkowych pakietów do zgłoszenia. Miejsce na dysku też się kumuluje, na każdym tagu, jaki kiedykolwiek wypchnąłeś. Naprawienie tego oznacza przepisanie Dockerfile, nie aplikacji. ...

8 września 2026 · 6 min · 1176 słów · SpaghettiCoder

Dobre Praktyki Dockerfile: Mniejsze i Szybsze Buildy

Ile kosztuje źle napisany Dockerfile 1 2 3 4 5 6 FROM node:latest COPY . . RUN npm install CMD ["node", "server.js"] Cztery linijki, a każda coś kosztuje. docker build uruchamia npm install od nowa przy każdej zmianie kodu, bo COPY . . psuje cache warstw, zanim krok instalacji w ogóle dostanie szansę na ponowne użycie. Finalny obraz niesie ze sobą całą bazę Debiana, cały katalog node_modules razem z zależnościami deweloperskimi i wszystkimi narzędziami budowania, które npm install ściągnął do kompilacji modułów natywnych. Nic nie jest odrzucane. Kontener działa jako root, bo nikt mu nie kazał inaczej, a node:latest oznacza, że obraz bazowy może się zmienić między jedną a drugą buildą, bez żadnego śladu tego, co faktycznie wypuściłeś. ...

7 września 2026 · 9 min · 1780 słów · SpaghettiCoder

Co to Jest Sieć Docker i Jak Jej Używać

Dlaczego dwa kontenery na tym samym hoście domyślnie się nie widzą Uruchamiasz Postgresa i swoje API zwykłym docker run, a API nie potrafi połączyć się z bazą danych, mimo że oba kontenery działają na tej samej maszynie. 1 2 docker run -d --name db postgres:16 docker run -d --name api myapp Oba trafiają na domyślną sieć bridge, do której Docker podłącza każdy kontener Docker, jeśli nie skonfigurujesz tego inaczej. Dostają adresy IP, ale nie dostają sposobu na odnalezienie się po nazwie — API musiałoby mieć na sztywno wpisany wewnętrzny adres IP bazy danych, który zmienia się przy każdym restarcie kontenera. ...

6 września 2026 · 6 min · 1128 słów · SpaghettiCoder

Czym Jest Docker Compose i Jak Go Używać

Problem, który rozwiązuje Compose Prawdziwa aplikacja rzadko jest jednym kontenerem. Web API potrzebuje bazy danych, baza potrzebuje wolumenu, żeby jej dane przetrwały restart, a potem dochodzi jeszcze cache Redis i worker w tle. To cztery polecenia docker run, każde z własnymi flagami dla portów, wolumenów, zmiennych środowiskowych i wspólnej sieci. W odpowiedniej kolejności. Za każdym razem, gdy siadasz do pracy. Docker Compose zastępuje te polecenia jednym plikiem i jednym poleceniem. Opisujesz kontenery i to, jak się łączą, w pliku o nazwie compose.yaml, a docker compose up uruchamia je wszystkie. Jeśli obrazów i docker run jeszcze nie znasz, przeczytaj najpierw czym jest Docker i jak działają kontenery. ...

6 września 2026 · 7 min · 1378 słów · SpaghettiCoder

Co to jest Docker i do czego służy

Co właściwie robi Docker Docker to platforma open source, która pakuje aplikację razem ze wszystkim, czego potrzebuje do działania — kodem, bibliotekami, runtime’em, konfiguracją — w kontener zachowujący się tak samo na każdej maszynie. Przeprowadzka dobrze pokazuje ten kompromis. Masz dwie opcje: Przenosić wszystkie rzeczy luzem, mając nadzieję, że dotrą nienaruszone Zapakować wszystko w uporządkowane, opisane kartony, które łatwo przewieźć Docker robi dokładnie to z aplikacjami: “pakuje” je w kontenery, które zawierają wszystko, co potrzebne do działania. ...

31 stycznia 2026 · 4 min · 753 słów · SpaghettiCoder

Co to jest wolumin Docker i jak go używać

Dlaczego kontener traci dane po restarcie Zapisz wiersz do bazy danych działającej w kontenerze Docker, zatrzymaj kontener, uruchom go ponownie: wiersza nie ma. Każdy kontener przy każdym starcie dostaje swój system plików na nowo z obrazu. Wszystko, co kontener sam zapisze — pliki bazy danych, przesłane pliki, logi — trafia do warstwy zapisywalnej, która jest kasowana przy usunięciu kontenera. Wolumin Docker to sposób na trzymanie tych danych poza kontenerem, tam gdzie przetrwają. ...

31 stycznia 2026 · 5 min · 1065 słów · SpaghettiCoder

Docker vs Podman: różnice i który wybrać

Docker i Podman uruchamiają te same obrazy tymi samymi poleceniami. Różni je architektura: Podman nie ma działającego w tle daemona i domyślnie działa bez roota (rootless), a Docker daje dojrzałe narzędzia, Docker Desktop i pełnoprawne Compose. Poniżej różnice, które realnie wpływają na twoją pracę — daemon, root, Compose i pody. Czym jest Podman? Podman (Pod Manager) to narzędzie do zarządzania kontenerami i podami, opracowane przez Red Hat jako open source’owa alternatywa dla Dockera. Jego główna cecha? Nie potrzebuje działającego daemona. ...

31 stycznia 2026 · 5 min · 1033 słów · SpaghettiCoder