- 1 1. Wprowadzenie
- 2 2. Instalacja Dockera na Ubuntu
- 3 3. Podstawowe operacje na obrazach Docker
- 4 4. Tworzenie Niestandardowych Obrazów Docker za pomocą Dockerfile
- 5 5. Konfigurowanie Środowiska Językowego Japońskiego w Kontenerze Ubuntu
- 6 6. Optymalizacja i Redukcja Rozmiaru Obrazów Docker
- 7 7. Praktyczny przewodnik: tworzenie aplikacji w kontenerze Ubuntu
- 8 8. FAQ i rozwiązywanie problemów
1. Wprowadzenie
Czym jest Docker?
Docker jest platformą wykorzystującą technologię wirtualizacji opartą na kontenerach, umożliwiającą efektywne tworzenie, dystrybucję i uruchamianie aplikacji. W przeciwieństwie do tradycyjnych maszyn wirtualnych (VM), kontenery współdzielą jądro systemu operacyjnego hosta, co pozwala na szybszy start i mniejsze zużycie zasobów.
Korzyści z używania Dockera na Ubuntu
Ubuntu jest jedną z dystrybucji Linuksa, które doskonale współpracują z Dockerem. Kluczowe korzyści to:
- Oficjalne wsparcie: Docker oficjalnie wspiera Ubuntu, a instalacja jest prosta dzięki oficjalnemu repozytorium.
- Stabilny system zarządzania pakietami: Menedżer pakietów APT w Ubuntu ułatwia zarządzanie wersjami Dockera.
- Rozbudowane wsparcie społeczności: Ubuntu ma dużą, globalną bazę użytkowników, co ułatwia znajdowanie rozwiązań przy rozwiązywaniu problemów.
Czego dowiesz się w tym artykule
Ten artykuł poprowadzi Cię krok po kroku przez następujące tematy:
- Jak zainstalować Docker na Ubuntu
- Podstawowe operacje na obrazach Docker
- Tworzenie własnych obrazów przy użyciu Dockerfile
- Konfigurowanie środowiska języka japońskiego w kontenerze Ubuntu
- Optymalizacja i zmniejszanie rozmiaru obrazów Docker
- Tworzenie aplikacji w kontenerze Ubuntu
- Typowe błędy i rozwiązania problemów
Ten przewodnik jest przydatny zarówno dla początkujących, jak i zaawansowanych użytkowników, więc śmiało korzystaj z niego jako odniesienia.
2. Instalacja Dockera na Ubuntu
Instalacja Dockera przy użyciu oficjalnego repozytorium
W Ubuntu możesz łatwo zainstalować Docker, korzystając z oficjalnego repozytorium. Postępuj zgodnie z poniższymi krokami, aby je skonfigurować.
1. Usuń istniejące pakiety Docker
Ubuntu domyślnie dostarcza pakiet o nazwie docker.io, ale może to być przestarzała wersja. Zaleca się najpierw go usunąć.
sudo apt remove docker docker-engine docker.io containerd runc
2. Zainstaluj wymagane pakiety
Przed instalacją Dockera zainstaluj niezbędne pakiety zależności.
sudo apt update
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
3. Dodaj oficjalne repozytorium Docker
Dodaj oficjalny klucz GPG Dockera i skonfiguruj repozytorium.
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
4. Zainstaluj Docker
Po dodaniu repozytorium zainstaluj Docker.
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io
5. Zweryfikuj instalację
Aby sprawdzić, czy Docker został poprawnie zainstalowany, wyświetl informacje o wersji.
docker --version
Początkowa konfiguracja po instalacji
1. Uruchom i włącz usługę Docker
Uruchom usługę Docker i skonfiguruj ją, aby uruchamiała się automatycznie przy starcie systemu.
sudo systemctl start docker
sudo systemctl enable docker
2. Zezwól użytkownikom niebędącym root na używanie
Domyślnie tylko użytkownik root może uruchamiać Docker. Aby umożliwić zwykłemu użytkownikowi korzystanie z poleceń Docker, dodaj go do grupy docker.
sudo usermod -aG docker $USER
Aby zastosować zmiany, wyloguj się i zaloguj ponownie.
3. Przetestuj Docker
Uruchom kontener hello-world, aby sprawdzić, czy Docker działa poprawnie.
docker run hello-world
Jeśli zobaczysz komunikat „Hello from Docker!”, instalacja zakończyła się sukcesem.

3. Podstawowe operacje na obrazach Docker
Czym jest obraz Docker?
Obraz Docker służy jako szablon do tworzenia kontenerów. Korzystając z obrazu Docker opartego na Ubuntu, możesz szybko uruchomić środowisko Ubuntu w kontenerze.
Pobieranie obrazów Ubuntu z Docker Hub
Docker Hub udostępnia ogromną kolekcję oficjalnych obrazów Docker. Aby pobrać obraz Ubuntu, użyj następującego polecenia:
docker pull ubuntu
Uruchamianie i zatrzymywanie kontenerów
Możesz uruchomić kontener za pomocą pobranego obrazu Ubuntu za pomocą następującego polecenia:
docker run -it ubuntu bash
To polecenie otwiera powłokę w kontenerze Ubuntu, umożliwiając bezpośrednią interakcję z nim.
Wyświetlanie Uruchomionych Kontenerów
Aby sprawdzić, które kontenery są obecnie uruchomione, użyj tego polecenia:
docker ps
Aby wyświetlić wszystkie kontenery, w tym zatrzymane, dodaj opcję -a:
docker ps -a
Zatrzymywanie i Usuwanie Kontenerów
Aby zatrzymać uruchomiony kontener, użyj następującego polecenia:
docker stop [container ID or name]
Aby usunąć niepotrzebny kontener, użyj tego polecenia:
docker rm [container ID or name]
Zarządzanie Obrazami Docker
Aby wyświetlić wszystkie pobrane obrazy Docker, użyj następującego polecenia:
docker images
Aby usunąć niewykorzystany obraz, użyj tego polecenia:
docker rmi [image ID]
4. Tworzenie Niestandardowych Obrazów Docker za pomocą Dockerfile
Czym jest Dockerfile?
Dockerfile to plik konfiguracyjny używany do tworzenia obrazów Docker. Definiując konkretne instrukcje w Dockerfile, możesz budować niestandardowe obrazy Docker dostosowane do swoich potrzeb. Pomaga to standaryzować środowiska deweloperskie i włączać niezbędne pakiety do obrazu.
Podstawowa Składnia Dockerfile
Dockerfile zazwyczaj zawiera następujące kluczowe polecenia:
| Command | Description |
|---|---|
FROM | Specifies the base image |
RUN | Executes commands to build the image |
COPY | Copies files into the container |
WORKDIR | Sets the working directory |
CMD | Defines the default command to run when the container starts |
ENTRYPOINT | Specifies the main command executed when the container runs |
Tworzenie Niestandardowego Obrazu Docker opartego na Ubuntu
Postępuj zgodnie z tymi krokami, aby utworzyć niestandardowy obraz Docker oparty na Ubuntu.
1. Utwórz Katalog Roboczy
Najpierw utwórz nowy katalog projektu i przejdź do niego.
mkdir my-ubuntu-image
cd my-ubuntu-image
2. Utwórz Dockerfile
W katalogu utwórz plik Dockerfile i dodaj następującą zawartość:
# Use the official Ubuntu base image
FROM ubuntu:latest
# Maintainer information (optional)
LABEL maintainer="your-email@example.com"
# Update package lists and install basic tools
RUN apt update && apt install -y curl vim git
# Set the working directory
WORKDIR /workspace
# Default command executed when the container starts
CMD ["bash"]
3. Zbuduj Obraz Docker
Użyj następującego polecenia, aby zbudować niestandardowy obraz z Dockerfile.
docker build -t my-ubuntu-image .
Opcja -t przypisuje nazwę obrazowi.
4. Sprawdź Zbudowany Obraz
Sprawdź listę dostępnych obrazów, aby upewnić się, że nowy obraz został pomyślnie utworzony.
docker images
5. Uruchom Kontener z Niestandardowego Obrazu
Uruchom kontener za pomocą nowo utworzonego niestandardowego obrazu.
docker run -it my-ubuntu-image
Ten kontener powinien zawierać narzędzia takie jak curl i vim, jak określono w Dockerfile.
5. Konfigurowanie Środowiska Językowego Japońskiego w Kontenerze Ubuntu
Domyślnie obraz Docker Ubuntu jest ustawiony na angielski. Jeśli potrzebujesz używać japońskiego, wymagane są dodatkowe konfiguracje.
Konfigurowanie Locale Japońskiego
Aby włączyć wyświetlanie i wprowadzanie japońskiego w kontenerze Ubuntu, zainstaluj niezbędne pakiety językowe.
1. Zainstaluj Wymagane Pakiety
apt update
apt install -y language-pack-ja locales
2. Skonfiguruj Locale
Ustaw locale i zastosuj ustawienia.
locale-gen ja_JP.UTF-8
update-locale LANG=ja_JP.UTF-8
3. Zastosuj Ustawienia
export LANG=ja_JP.UTF-8
Konfigurowanie Wprowadzania Japońskiego
Aby włączyć wprowadzanie tekstu japońskiego w terminalu, zainstaluj ibus-mozc.
apt install -y ibus-mozc
Jeśli używasz środowiska GUI, dodaj następujące zmienne środowiskowe:
export GTK_IM_MODULE=ibus
export XMODIFIERS=@im=ibus
export QT_IM_MODULE=ibus
Używanie Aplikacji GUI
Aby uruchomić aplikacje GUI wewnątrz kontenera Docker, możesz użyć serwera X.
Zainstaluj serwer X na maszynie hosta i uruchom kontener z włączonym X11.
docker run -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix my-ubuntu-image
6. Optymalizacja i Redukcja Rozmiaru Obrazów Docker
Optymalizacja obrazów Docker zwiększa szybkość uruchamiania kontenerów i zmniejsza zużycie pamięci dyskowej. Ten rozdział przedstawia metody tworzenia lekkich obrazów.
Tworzenie lekkiego obrazu opartego na Ubuntu
Domyślny obraz ubuntu:latest jest stosunkowo duży. Aby zmniejszyć rozmiar kontenera, rozważ użycie mniejszej alternatywy, takiej jak ubuntu:minimal.
FROM ubuntu:minimal
Alternatywnie możesz użyć Alpine Linux, który jest znacznie mniejszy niż Ubuntu.
FROM alpine:latest
RUN apk add --no-cache bash curl
Ta metoda może zmniejszyć rozmiar obrazu o kilkaset megabajtów.
Usuwanie niepotrzebnych plików w celu zmniejszenia rozmiaru obrazu
Po zainstalowaniu pakietów przy pomocy apt-get możesz usunąć niepotrzebne pliki pamięci podręcznej, aby zminimalizować rozmiar obrazu.
RUN apt update && apt install -y curl vim
&& apt clean
&& rm -rf /var/lib/apt/lists/*
Polecenie rm -rf /var/lib/apt/lists/* usuwa listę pakietów, redukując niepotrzebne dane.
Budowanie wieloetapowe (Multi‑Stage Builds)
Dzięki budowaniu wieloetapowemu możesz używać tymczasowego kontenera do kompilacji zależności, jednocześnie utrzymując finalny obraz lekki.
FROM ubuntu as builder
RUN apt update && apt install -y gcc
FROM ubuntu:minimal
COPY --from=builder /usr/bin/gcc /usr/bin/gcc
Ta technika pozwala wykluczyć niepotrzebne narzędzia deweloperskie z końcowego obrazu, czyniąc go znacznie mniejszym.
7. Praktyczny przewodnik: tworzenie aplikacji w kontenerze Ubuntu
W tej sekcji skonfigurujemy środowisko programistyczne wewnątrz kontenera Ubuntu i pokażemy, jak rozwijać aplikacje przy użyciu Dockera.
Konfiguracja środowiska programistycznego Pythona
Aby utworzyć środowisko programistyczne Pythona w kontenerze Docker, użyj poniższego Dockerfile.
FROM ubuntu:latest
RUN apt update && apt install -y python3 python3-pip
CMD ["python3"]
Zbuduj obraz i uruchom kontener.
docker build -t python-dev .
docker run -it python-dev
Wewnątrz kontenera możesz wywołać polecenie python3, aby uruchamiać skrypty Pythona i rozwijać aplikacje.
Konfiguracja środowiska programistycznego Node.js
Do programowania w Node.js użyj poniższego Dockerfile.
FROM ubuntu:latest
RUN apt update && apt install -y nodejs npm
CMD ["node"]
Zbuduj i uruchom kontener.
docker build -t node-dev .
docker run -it node-dev
Dzięki tej konfiguracji możesz używać polecenia node do wykonywania kodu JavaScript i tworzenia aplikacji w kontrolowanym środowisku.
8. FAQ i rozwiązywanie problemów
Podczas pracy z Dockerem możesz napotkać różne problemy. Ten rozdział zawiera rozwiązania najczęstszych problemów oraz odpowiedzi na najczęściej zadawane pytania.
Różnica między Dockerem a maszynami wirtualnymi
- Docker: Udostępnia jądro systemu operacyjnego hosta, co czyni go lekkim i umożliwia szybkie uruchamianie kontenerów.
- Maszyny wirtualne (VM): Każda VM posiada własny system operacyjny, zużywa więcej zasobów i potrzebuje więcej czasu na uruchomienie.
Docker jest bardziej efektywny pod względem wykorzystania zasobów, co czyni go idealnym rozwiązaniem dla środowisk programistycznych i automatycznych wdrożeń.
Trwałe przechowy kontenerze Ubuntu
Aby zachować dane po zatrzymaniu kontenera, użyj montowania wolumenów.
docker run -v my_data:/data ubuntu
Wolumen my_data przechowuje dane trwale, umoiając dostęp do nich nawet po usunięciu kontenera.
Typowe błędy i ich rozwiązania
1. Błąd permission denied
Jeśli pojawia się błąd permission denied podczas wykonywania poleceń Docker, Twój użytkownik może nie należeć do grupy docker.
Dodaj swojego użytkownika do grupy docker za pomocą następującego polecenia:
sudo usermod -aG docker $USER
Po wykonaniu tego polecenia wyloguj się i zaloguj ponownie, aby zmiany zaczęły obowiązywać.
2. Błąd image not found
Jeśli obraz został usunięty z Docker Hub, podaj inny tag, aby pobrać prawidłową wersję.
docker pull ubuntu:22.04
Określając wersję, możesz mieć pewność, że pobierasz działający obraz.


