落叶的心思的博客

一个记录与折腾的小站

Ubuntu 或 Debian 安装 Docker 和 Portainer 图形管理面板教程

发布时间:

发布者:

分类: ,

阅读数:

25

点赞数:

0

阅读时长预计:

4 分钟

前言

有朋友问我为什么不推荐在 OpenWrt 跑 Docker。
OpenWrt 本质上就是一个精简的 Linux 路由系统,设计目标就是稳定、高效地处理网络相关的任务。
它的重点是:拨号、NAT、防火墙、流控、DNS、分流、科学上网等等 —— 全都是“让设备能顺利上网”的功能。它虽然是 Linux,但不是通用 Linux,更不是为了跑一堆服务而设计的。当然,如果你只是跑一些很简单的容器,其实也可以简单用用。
我个人更推荐的方式是:现在很多人用 PVE 或 ESXi 来虚拟化系统,那就把 OpenWrt 跑在一个虚拟机里,专门处理网络,然后再开一个 Debian 或 Ubuntu 的虚拟机,专门跑 Docker 和服务容器。
这样分开最大的好处是:

  • 出问题互不影响
  • 哪边出故障都好排查好恢复

Docker 在通用 Linux 上用的人多,资料多,兼容好,操作也更方便
这并不是说 OpenWrt 跑不起 Docker,而是说:
OpenWrt 能跑,但不该扛那么多非路由职责的负担。
就像你不会用电饭锅烧水洗脚 —— 虽然能热水,但它根本不是为这个设计的。

教程开始

第一部分 安装 Docker

更新系统并安装基础工具

sudo apt update
sudo apt install -y ca-certificates curl gnupg lsb-release

添加 Docker 的官方密钥

sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo tee /etc/apt/keyrings/docker.asc > /dev/null
sudo chmod a+r /etc/apt/keyrings/docker.asc

如果你用的是 Debian,把命令里的 ubuntu 改成 debian 即可。

添加 Docker 的官方软件源

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

如果你是 Debian 用户,把地址中的 ubuntu 改成 debian,把后面的系统代号改成你对应的版本,比如 bookworm。

更新并安装 Docker

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

启动 Docker 并设置开机自启动

sudo systemctl enable --now docker

测试 Docker 是否安装成功

docker run hello-world

可选操作:让当前用户使用 docker 命令不用每次输 sudo

sudo usermod -aG docker $USER

然后重新登录一次或重启系统生效。以后使用 docker 命令就不需要加 sudo 了。

第二部分 安装 Portainer 图形管理面板

创建数据卷用于保存 Portainer 的数据

docker volume create portainer_data

启动 Portainer 容器

docker run -d -p 9000:9000 -p 8000:8000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce

第三部分 配置防火墙放行端口

查看防火墙是否开启

sudo ufw status

如果显示 inactive,说明防火墙未启用,可以跳过这一步。

如果显示 active,则继续执行下面的命令。

放行 Portainer 使用的端口

sudo ufw allow 9000
sudo ufw allow 8000

第四部分 访问 Portainer 面板

打开浏览器,在地址栏输入:

http://你的服务器IP地址:9000

比如你服务器 IP 是 192.168.1.100,就输入:

http://192.168.1.100:9000

首次访问时,会提示你设置管理员账号密码。设置完成后,选择 “Local” 连接到当前 Docker 主机,就能进入管理界面了。

转载声明:

转载此文章请注明出处。

若本文内容侵犯了您的权益,请通过本站下方邮箱与我联系,我会尽快处理,谢谢!

分享到:

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注