| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | 31 |
- vscode
- Rust
- Ollama
- 절대경로
- Vite
- Typescript
- cli
- podman
- podman compose
- dockerfile
- .dockerignore
- k3s
- curl
- Docker Compose
- vim
- RandomAccessFile
- Thinking Mode
- React
- getting started
- 시작하기
- html canvas
- tauri
- Webpack
- qwen3-coder-next
- io
- docker
- Java
- Format
- glm-ocr
- FileChannel
- Today
- Total
워로디스
Ubuntu 에 Docker Compose 와 K3S Ubuntu 설치하기 본문
2026년 3월 28일 현재 공식 문서 기준으로, Docker 쪽은 현재 Ubuntu 22.04 / 24.04 / 25.10용 공식 설치 절차를 따랐고, Compose는 plugin 방식(docker compose)으로 설치합니다. K3s는 공식 Quick-Start 설치 스크립트를 기준으로 했습니다.
1) Docker Engine + Docker Compose 설치
Docker 공식 문서는 현재 Ubuntu에서 Docker apt 저장소 + keyring + docker.sources 방식으로 설치하도록 안내합니다. Compose는 별도 docker-compose 바이너리 대신 docker-compose-plugin 설치가 현재 표준입니다.
설치
sudo apt-get update && \
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove -y "$pkg"; done && \
sudo apt-get install -y ca-certificates curl && \
sudo install -m 0755 -d /etc/apt/keyrings && \
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc && \
sudo chmod a+r /etc/apt/keyrings/docker.asc && \
sudo tee /etc/apt/sources.list.d/docker.sources > /dev/null <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF
sudo apt-get update && \
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin && \
sudo usermod -aG docker "$USER"
설치 확인
Docker 문서상 Ubuntu에서는 서비스가 자동 시작되며, 비 root 사용은 docker 그룹에 사용자를 넣은 뒤 반영하면 됩니다. 반영은 로그아웃/로그인이 기본이고, 즉시 적용하려면 newgrp docker를 쓸 수 있습니다. 단, docker 그룹은 root 수준 권한을 부여하므로 보안상 주의가 필요합니다.
newgrp docker
그 다음 확인:
docker --version
docker compose version
docker run hello-world
2) K3s 설치
K3s 공식 Quick-Start는 지금도 curl -sfL https://get.k3s.io | sh - 를 기본 설치 방법으로 안내합니다. 이 스크립트는 서비스 등록까지 수행하고, kubectl도 함께 설치하며, kubeconfig는 /etc/rancher/k3s/k3s.yaml에 생성됩니다.
설치
curl -sfL https://get.k3s.io | sh -
설치 확인
기본 kubeconfig는 root 소유, 기본 mode 600입니다. 그래서 가장 안전하고 단순한 확인 방법은 sudo kubectl 을 쓰는 것입니다.
sudo kubectl version
sudo kubectl get nodes
sudo kubectl get pods -A
3) K3s를 비 root 사용자로도 쓰고 싶을 때
여기서 주의할 점이 있습니다./etc/rancher/k3s/k3s.yaml은 admin kubeconfig이고, 이 파일은 system:admin / system:masters 권한으로 클러스터 전체에 unrestricted access를 줍니다. 공식 문서도 기본값이 root/600이라고 설명합니다. 따라서 무심코 chmod 644로 넓게 공개하는 것은 단일 사용자 개발 머신이 아닐 때 권장되지 않습니다.
단일 사용자 테스트 머신에서 정말 간단히 쓰려면, 설치 시점에 공식 옵션으로 kubeconfig 권한을 열 수 있습니다. K3s 문서에는 K3S_KUBECONFIG_MODE="644" 예시가 있습니다.
curl -sfL https://get.k3s.io | K3S_KUBECONFIG_MODE="644" sh -
kubectl get nodes
여러 사용자가 함께 쓰는 서버라면, 644 대신 root + 특정 그룹만 읽기 가능하도록 관리하는 편이 더 안전합니다. K3s는 --write-kubeconfig-group / K3S_KUBECONFIG_GROUP 옵션도 제공합니다.
4) 최종 요약
Docker + Compose
sudo apt-get update && \
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove -y "$pkg"; done && \
sudo apt-get install -y ca-certificates curl && \
sudo install -m 0755 -d /etc/apt/keyrings && \
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc && \
sudo chmod a+r /etc/apt/keyrings/docker.asc && \
sudo tee /etc/apt/sources.list.d/docker.sources > /dev/null <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF
sudo apt-get update && \
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin && \
sudo usermod -aG docker "$USER"
확인:
newgrp docker
docker --version
docker compose version
docker run hello-world
K3s
curl -sfL https://get.k3s.io | sh -
sudo kubectl version
sudo kubectl get nodes
sudo kubectl get pods -A
이 구성이 지금 기준으로 가장 무난하고 정확합니다.
참고
- https://docs.docker.com/engine/install/ubuntu/ "Ubuntu | Docker Docs"
- https://docs.k3s.io/quick-start "Quick-Start Guide | K3s"
- https://docs.k3s.io/cli/server "server | K3s"
- https://docs.k3s.io/cluster-access "Cluster Access | K3s"
- https://docs.k3s.io/installation/configuration "Configuration Options"
'정리 > 가상화' 카테고리의 다른 글
| Podman + Dockerfile 기본 예제 (0) | 2026.02.04 |
|---|---|
| .dockerignore 화이트리스트 방식 운용 (0) | 2026.02.04 |
