Panduan Lengkap Membuat dan Mengurus Imej Docker pada Ubuntu | Pemasangan, Pengoptimuman, dan Penyelesaian Masalah

目次

1. Pengenalan

Apa itu Docker?

Docker ialah platform yang menggunakan teknologi virtualisasi berasaskan kontena untuk membangunkan, mengedarkan, dan menjalankan aplikasi dengan cekap. Berbeza dengan mesin maya tradisional (VM), kontena berkongsi kernel OS hos, membolehkan masa permulaan yang lebih cepat dan penggunaan sumber yang lebih rendah.

Manfaat Menggunakan Docker pada Ubuntu

Ubuntu merupakan salah satu distribusi Linux yang sangat serasi dengan Docker. Manfaat utama termasuk:

  • Sokongan Rasmi : Docker secara rasmi menyokong Ubuntu, dan pemasangan menjadi mudah melalui repositori rasmi.
  • Pengurusan Pakej Stabil : Pengurus pakej APT Ubuntu memudahkan pengurusan versi Docker.
  • Sokongan Komuniti Luas : Ubuntu mempunyai pangkalan pengguna global yang besar, memudahkan pencarian penyelesaian apabila menghadapi masalah.

Apa yang Akan Anda Pelajari dalam Artikel Ini

Artikel ini akan membimbing anda melalui topik-topik berikut langkah demi langkah:

  1. Cara memasang Docker pada Ubuntu
  2. Operasi asas imej Docker
  3. Membuat imej tersuai menggunakan Dockerfile
  4. Menyediakan persekitaran bahasa Jepun dalam kontena Ubuntu
  5. Mengoptimumkan dan mengurangkan saiz imej Docker
  6. Membina aplikasi dalam kontena Ubuntu
  7. Ralat biasa dan penyelesaian penyahpepijatan

Panduan ini berguna untuk pengguna baru dan pengguna lanjutan, jadi anda boleh menggunakannya sebagai rujukan.

2. Memasang Docker pada Ubuntu

Memasang Docker Menggunakan Repositori Rasmi

Pada Ubuntu, anda boleh memasang Docker dengan mudah melalui repositori rasmi. Ikuti langkah-langkah di bawah untuk menyiapkannya.

1. Buang Pakej Docker yang Sedia Ada

Ubuntu menyediakan pakej bernama docker.io secara lalai, tetapi mungkin versi lama. Disarankan untuk membuangnya terlebih dahulu.

sudo apt remove docker docker-engine docker.io containerd runc

2. Pasang Pj Keperluan

Sebelum memasang Docker, pasang pakej kebergantungan yang diperlukan.

sudo apt update
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common

3. Tambah Repositori Rasmi Docker

Tambah kunci GPG rasmi Docker dan sediakan repositori.

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. Pasang Docker

Setelah repositori ditambah, pasang Docker.

sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io

5. Sahkan Pemasangan

Untuk memeriksa sama ada Docker telah dipasang dengan betul, paparkan maklumat versi.

docker --version

Persediaan Awal Selepas Pemasangan

1. Mulakan dan Aktifkan Perkhidmatan Docker

Mulakan perkhidmatan Docker dan konfigurasikan supaya berjalan secara automatik semasa permulaan sistem.

sudo systemctl start docker
sudo systemctl enable docker

2. Benarkan Pengguna Bukan Root Menggunakan Docker

Secara lalai, hanya pengguna root boleh menjalankan Docker. Untuk membenarkan pengguna biasa menggunakan arahan Docker, tambahkan pengguna tersebut ke kumpulan docker.

sudo usermod -aG docker $USER

Untuk menerapkan perubahan, log keluar dan log masuk semula.

3. Uji Docker

Jalankan kontena hello-world untuk memeriksa sama ada Docker berfungsi dengan betul.

docker run hello-world

Jika anda melihat mesej “Hello from Docker!”, pemasangan telah berjaya.

3. Operasi Asas dengan Imej Docker

Apa itu Imej Docker?

Imej Docker berfungsi sebagai templat untuk mencipta kontena. Dengan menggunakan imej Docker berasaskan Ubuntu, anda boleh menyediakan persekitaran Ubuntu dengan cepat dalam sebuah kontena.

Memuat Turun Imej Ubuntu dari Docker Hub

Docker Hub menyimpan koleksi besar imej Docker rasmi. Untuk memuat turun imej Ubuntu, gunakan arahan berikut:

docker pull ubuntu

Memulakan dan Memberhentikan Kontena

Anda boleh memulakan bekas menggunakan imej Ubuntu yang dimuat turun dengan arahan berikut:

docker run -it ubuntu bash

Arahan ini membuka cangkang dalam bekas Ubuntu, membolehkan anda berinteraksi dengannya secara langsung.

Menyenaraikan Bekas yang Sedang Berjalan

Untuk memeriksa bekas mana yang sedang berjalan, gunakan arahan ini:

docker ps

Untuk memaparkan semua bekas, termasuk yang berhenti, tambahkan pilihan -a:

docker ps -a

Menghentikan dan Mengalih Keluar Bekas

Untuk menghentikan bekas yang sedang berjalan, gunakan arahan berikut:

docker stop [container ID or name]

Untuk mengalih keluar bekas yang tidak diperlukan, gunakan arahan ini:

docker rm [container ID or name]

Menguruskan Imej Docker

Untuk menyenaraikan semua imej Docker yang dimuat turun, gunakan arahan berikut:

docker images

Untuk mengalih keluar imej yang tidak digunakan, gunakan arahan ini:

docker rmi [image ID]

4. Membina Imej Docker Tersuai dengan Dockerfile

Apakah Dockerfile?

Dockerfile adalah fail konfigurasi yang digunakan untuk membina imej Docker. Dengan menentukan arahan khusus dalam Dockerfile, anda boleh membina imej Docker tersuai yang disesuaikan dengan keperluan anda. Ini membantu menstandardkan persekitaran pembangunan dan memasukkan pakej yang diperlukan dalam imej tersebut.

Sintaks Asas Dockerfile

Dockerfile biasanya termasuk arahan utama berikut:

CommandDescription
FROMSpecifies the base image
RUNExecutes commands to build the image
COPYCopies files into the container
WORKDIRSets the working directory
CMDDefines the default command to run when the container starts
ENTRYPOINTSpecifies the main command executed when the container runs

Membina Imej Docker Berasaskan Ubuntu Tersuai

Ikuti langkah-langkah ini untuk membina imej Docker tersuai berdasarkan Ubuntu.

1. Membina Direktori Kerja

Pertama, buat direktori projek baru dan navigasi ke dalamnya.

mkdir my-ubuntu-image
cd my-ubuntu-image

2. Membina Dockerfile

Dalam direktori tersebut, buat Dockerfile dan tambahkan kandungan berikut:

# 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. Membina Imej Docker

Gunakan arahan berikut untuk membina imej tersuai dari Dockerfile.

docker build -t my-ubuntu-image .

Pilihan -t memberikan nama kepada imej tersebut.

4. Mengesahkan Imej yang Dibina

Periksa senarai imej yang tersedia untuk memastikan imej baru telah dibina dengan berjaya.

docker images

5. Menjalankan Bekas dari Imej Tersuai

Mulakan bekas menggunakan imej tersuai yang baru dibina.

docker run -it my-ubuntu-image

Bekas ini sepatutnya termasuk alat seperti curl dan vim seperti yang ditentukan dalam Dockerfile.

5. Mengkonfigurasi Persekitaran Bahasa Jepun dalam Bekas Ubuntu

Secara lalai, imej Docker Ubuntu ditetapkan kepada Bahasa Inggeris. Jika anda perlu menggunakan Bahasa Jepun, konfigurasi tambahan diperlukan.

Menyediakan Locale Bahasa Jepun

Untuk membolehkan paparan dan input Bahasa Jepun dalam bekas Ubuntu, pasang pakej bahasa yang diperlukan.

1. Pasang Pakej yang Diperlukan

apt update
apt install -y language-pack-ja locales

2. Mengkonfigurasi Locale

Tetapkan locale dan terapkan tetapan tersebut.

locale-gen ja_JP.UTF-8
update-locale LANG=ja_JP.UTF-8

3. Terapkan Tetapan

export LANG=ja_JP.UTF-8

Menyediakan Input Bahasa Jepun

Untuk membolehkan input teks Bahasa Jepun dalam terminal, pasang ibus-mozc.

apt install -y ibus-mozc

Jika anda menggunakan persekitaran GUI, tambahkan pembolehubah persekitaran berikut:

export GTK_IM_MODULE=ibus
export XMODIFIERS=@im=ibus
export QT_IM_MODULE=ibus

Menggunakan Aplikasi GUI

Untuk menjalankan aplikasi GUI di dalam bekas Docker, anda boleh menggunakan pelayan X.

Pasang pelayan X pada mesin hos dan jalankan bekas dengan X11 diaktifkan.

docker run -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix my-ubuntu-image

6. Mengoptimumkan dan Mengurangkan Saiz Imej Docker

Optimizing Docker images improves container startup speed and reduces storage usage. This section introduces methods for creating lightweight images.

Membuat Imej Berasaskan Ubuntu yang Ringan

The default ubuntu:latest image is relatively large. To reduce the container size, consider using a smaller alternative like ubuntu:minimal.

FROM ubuntu:minimal

Alternatively, you can use Alpine Linux, which is significantly smaller than Ubuntu.

FROM alpine:latest
RUN apk add --no-cache bash curl

This method can reduce the image size by several hundred megabytes.

Membuang Fail yang Tidak Diperlukan untuk Mengurangkan Saiz Imej

After installing packages with apt-get, you can remove unnecessary cache files to minimize the image size.

RUN apt update && apt install -y curl vim 
    && apt clean 
    && rm -rf /var/lib/apt/lists/*

The rm -rf /var/lib/apt/lists/* command deletes the package list, reducing unnecessary data.

Menggunakan Binaan Berbilang Tahap

With multi-stage builds, you can use a temporary container for building dependencies while keeping the final image lightweight.

FROM ubuntu as builder
RUN apt update && apt install -y gcc

FROM ubuntu:minimal
COPY --from=builder /usr/bin/gcc /usr/bin/gcc

This technique allows you to exclude unnecessary development tools from the final image, making it significantly smaller.

7. Panduan Praktikal: Membangunkan Aplikasi dalam Kontena Ubuntu

In this section, we will set up a development environment inside an Ubuntu container and demonstrate how to develop applications using Docker.

Menyiapkan Persekitaran Pembangunan Python

To create a Python development environment inside a Docker container, use the following Dockerfile.

FROM ubuntu:latest
RUN apt update && apt install -y python3 python3-pip
CMD ["python3"]

Build the image and run the container.

docker build -t python-dev .
docker run -it python-dev

Inside the container, you can execute the python3 command to run Python scripts and develop applications.

Menyiapkan Persekitaran Pembangunan Node.js

For Node.js development, use the following Dockerfile.

FROM ubuntu:latest
RUN apt update && apt install -y nodejs npm
CMD ["node"]

Build and run the container.

docker build -t node-dev .
docker run -it node-dev

With this setup, you can use the node command to execute JavaScript code and develop applications in a controlled environment.

8. Soalan Lazim & Penyelesaian Masalah

While using Docker, you may encounter various issues. This section provides solutions to common problems and frequently asked questions.

Perbezaan Antara Docker dan Mesin Maya

  • Docker: Shares the host OS kernel, making it lightweight and enabling fast container startup.
  • Virtual Machines (VMs): Each VM has its own OS, consuming more resources and taking longer to start.

Docker is more efficient in resource utilization, making it ideal for development environments and automated deployments.

Mengekalkan Data dalam Kontena Ubuntu

To retain data even after a container is stopped, use volume mounting.

docker run -v my_data:/data ubuntu

The my_data volume stores data persistently, allowing it to be accessed even after the container is removed.

Ralat Biasa dan Penyelesaian

1. permission denied Error

If you see a permission denied error when running Docker commands, your user might not be in the docker group.

Add your user to the docker group with the following command:

sudo usermod -aG docker $USER

After running this command, log out and log back in to apply the changes.

2. image not found Error

If an image has been removed from Docker Hub, specify a different tag to pull a valid version.

docker pull ubuntu:22.04

By specifying a version, you can ensure that you download a working image.

年収訴求