Salin dan Bagikan
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/
Editor : Hendra WIjaya
Publisher :
Tirinfo
Read : 3 minutes.
Update : 7 January 2026