Salin dan Bagikan
Cara Install Docker di Ubuntu Linux - Panduan lengkap instalasi dan konfigurasi Docker di Ubuntu untuk containerization

Cara Install Docker di Ubuntu Linux

Docker adalah platform containerization yang memudahkan deployment aplikasi. Mari pelajari cara install dan menggunakannya.

Prerequisites

System Requirements

# Check Ubuntu version
cat /etc/os-release

# Minimum requirements:
# - Ubuntu 20.04 LTS atau lebih baru
# - 64-bit system
# - Kernel 3.10+

Remove Old Versions

# Hapus versi lama jika ada
sudo apt-get remove docker docker-engine docker.io containerd runc

Install Docker Engine

Setup Repository

# Update package index
sudo apt-get update

# Install prerequisites
sudo apt-get install \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

# Add Docker's official GPG key
sudo mkdir -m 0755 -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \
    sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

# Setup repository
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
  https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Install Docker

# Update package index again
sudo apt-get update

# Install Docker Engine
sudo apt-get install docker-ce docker-ce-cli containerd.io \
    docker-buildx-plugin docker-compose-plugin

# Verify installation
sudo docker run hello-world

Post-Installation Setup

Add User to Docker Group

# Buat docker group
sudo groupadd docker

# Add user ke group
sudo usermod -aG docker $USER

# Apply changes (logout/login atau run)
newgrp docker

# Test tanpa sudo
docker run hello-world

Enable Docker on Boot

# Enable auto-start
sudo systemctl enable docker.service
sudo systemctl enable containerd.service

# Check status
sudo systemctl status docker

Basic Docker Commands

Image Management

# Pull image dari Docker Hub
docker pull nginx
docker pull node:18-alpine
docker pull mysql:8

# List images
docker images

# Remove image
docker rmi nginx

Container Operations

# Run container
docker run -d --name webserver nginx

# List running containers
docker ps

# List all containers
docker ps -a

# Stop container
docker stop webserver

# Start container
docker start webserver

# Remove container
docker rm webserver

Container with Port Mapping

Expose Ports

# Map port 80 container ke port 8080 host
docker run -d -p 8080:80 --name web nginx

# Multiple port mapping
docker run -d \
    -p 80:80 \
    -p 443:443 \
    --name webserver nginx

Environment Variables

# Set environment variables
docker run -d \
    -e MYSQL_ROOT_PASSWORD=secret \
    -e MYSQL_DATABASE=myapp \
    --name database mysql:8

Volume Management

Create and Use Volumes

# Create volume
docker volume create mydata

# List volumes
docker volume ls

# Use volume in container
docker run -d \
    -v mydata:/var/lib/mysql \
    --name database mysql:8

# Mount host directory
docker run -d \
    -v /home/user/html:/usr/share/nginx/html \
    --name webserver nginx

Docker Compose

Install Docker Compose

# Sudah included dengan docker-compose-plugin
docker compose version

# Alternative: standalone installation
sudo curl -L \
    "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" \
    -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

Docker Compose File

# docker-compose.yml
version: "3.8"
services:
  web:
    image: nginx:alpine
    ports:
      - "80:80"
    volumes:
      - ./html:/usr/share/nginx/html

  db:
    image: mysql:8
    environment:
      MYSQL_ROOT_PASSWORD: secret
      MYSQL_DATABASE: myapp
    volumes:
      - dbdata:/var/lib/mysql

volumes:
  dbdata:

Compose Commands

# Start services
docker compose up -d

# Stop services
docker compose down

# View logs
docker compose logs -f

# Rebuild
docker compose up -d --build

Building Docker Images

Dockerfile Example

# Dockerfile
FROM node:18-alpine

WORKDIR /app

COPY package*.json ./
RUN npm install

COPY . .

EXPOSE 3000
CMD ["npm", "start"]

Build Image

# Build image
docker build -t myapp:1.0 .

# Build with different Dockerfile
docker build -f Dockerfile.prod -t myapp:prod .

# Push to Docker Hub
docker login
docker tag myapp:1.0 username/myapp:1.0
docker push username/myapp:1.0

Networking

Docker Networks

# Create network
docker network create mynetwork

# List networks
docker network ls

# Connect container to network
docker run -d \
    --network mynetwork \
    --name web nginx

# Connect existing container
docker network connect mynetwork container_name

Cleanup Commands

Remove Unused Resources

# Remove stopped containers
docker container prune

# Remove unused images
docker image prune

# Remove unused volumes
docker volume prune

# Remove all unused resources
docker system prune -a

# Check disk usage
docker system df

Kesimpulan

Docker memudahkan deployment dengan containerization. Mulai dengan basic commands lalu explore Docker Compose untuk multi-container applications.

Artikel Terkait

Link Postingan : https://www.tirinfo.com/cara-install-docker-ubuntu-linux/

Hendra WIjaya
Tirinfo
3 minutes.
7 January 2026