---
title: "Proxmox LXC 安裝 Docker & Docker Compose"
description: "建立一個 Proxmox LXC，在 LXC 中新增使用者，安裝 Docker & Docker Compose。"
canonical_url: "https://hannoeru.me/posts/proxmox-lxc-install-docker-compose"
---

> Index of every page on this site: [llms.txt](https://hannoeru.me/llms.txt)

## 建立 LXC

重點：

- 勾選 Unprivileged container
- 不要在建立後自動啟動

![wp-image-551](https://hannoeru.me/images/2020/04/screenshot-2020-04-17-16.08.06.png)<br />

![wp-image-555](https://hannoeru.me/images/2020/04/screenshot-2020-04-17-16.08.19.png)<br />

![wp-image-552](https://hannoeru.me/images/2020/04/screenshot-2020-04-17-16.10.13.png)

## 設定 LXC

設定內容：Options => Features 勾選

- keyctl
- Nesting

以上兩個

![wp-image-553](https://hannoeru.me/images/2020/04/screenshot-2020-04-17-16.10.38.png)<br />

![wp-image-554](https://hannoeru.me/images/2020/04/screenshot-2020-04-17-16.10.46.png)

## 啟動 LXC & 新增使用者

### 啟動後 SSH 進 LXC

```bash
ssh root@server_ip_address
```

### 安裝 sudo

```bash
apt update
apt install sudo
```

### 新增使用者

自行替換 username

```bash
adduser username
```

### 把剛創建的使用者加入 sudo 群組

```bash
usermod -aG sudo username
```

### sudo 不需輸入密碼（可選）

開啟設定檔：

```bash
visudo
```

更改為不需輸入密碼

```bash
# Allow members of group sudo to execute any command
%sudo  ALL=(ALL:ALL) NOPASSWD:ALL
```

### 切換使用者 & 測試 sudo

切換使用者：

```bash
su - username
```

測試 sudo

```bash
sudo whoami
```

輸出：username 的話就代表成功了！

## 安裝 Docker & Docker Compose

使用剛剛創建的使用者執行以下步驟

### 前置步驟

> **更新（2026）：** `apt-key` 已在 Debian 12（bookworm）移除。以下指令已改用官方建議的 keyrings 方式。Docker Compose 也改用 apt 套件（`docker-compose-plugin`），不再需要手動下載二進位檔。

更新 source

```bash
sudo apt update
sudo apt install \
    ca-certificates \
    curl \
    gnupg
```

建立 keyrings 目錄並加入 Docker 官方 GPG key

```bash
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
```

加入 Docker 官方 repository

```bash
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
  $(. /etc/os-release && echo $VERSION_CODENAME) stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
```

### 安裝 Docker

```bash
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
```

測試：

```bash
docker version
```

有跑出版本資訊就成功了

#### 將使用者加入 docker 群組（可選）

可以不使用 sudo 直接執行 docker。加入群組後需要重新登入才會生效。

```bash
sudo usermod -aG docker $USER
```

### 安裝 Docker Compose

安裝 Docker Compose plugin（指令為 `docker compose`，中間沒有 `-`）

```bash
sudo apt-get update
sudo apt-get install docker-compose-plugin
```

確認安裝

```bash
docker compose version
```

有跑出版本資訊就成功了

## 結語

以上就是在 Proxmox LXC 安裝 Docker & Docker Compose 的方法

至於要新增一個使用者而不直接使用 root 帳號主要有兩個原因

- 安全性問題，Docker 官方也建議不要使用 root 帳號
- 有些 image 如果用 root 跑的話會有權限問題

如果有其他問題，歡迎在下面留言！

## Sitemap

See the full [sitemap](https://hannoeru.me/sitemap.md) for all pages.
