无法连接到 LXC 容器里的 docker 网络

无法连接到 LXC 容器里的 docker 网络

继去年 HomeLab PRD 节点全面使用 lxc 容器运行应用后,最近兴趣使然,又开始折腾主机的网络。主要折腾的内容是 vlan、SR-IOV 和万兆,等整理完再把折腾笔记发出来,本文主要解决折腾过程中遇到的一个问题。

为方便管理容器,我为每个 lxc 里的容器(docker in lxc)创建一个 Network,分配独立的网段。在主路由中将该子网的请求路由到该 lxc 上,就可以实现通过子网 IP 直接访问容器。

配置好后发现,在 lxc 之外根本 ping 不通容器,请求始终到不了容器。

阅读更多
Docker 构建多平台镜像

Docker 构建多平台镜像

最近公司在组织各个系统的开发人员在搞信创改造,其中有部分改造内容就是要让系统能兼容 ARM 架构的 CPU。我们的系统都是运行在 Kubernetes 的容器中的,所以需要将应用打包到不同架构的镜像中。

Docker 提供了多平台的支持,可以将不同架构的镜像打包成一个镜像,部署时再根据运行的架构不同拉取不同架构的镜像运行,构建多平台镜像可以使用 BuildX 组件实现。

阅读更多

docker swarm 删除节点报权限不足

在 HomeLab 的自建 Docker Swarm 集群中,在尝试删除集群中的节点时报了 permission denied 的错误。这个问题可能是 AppArmor 安全策略的问题。

由于在 HomeLab 安装 Docker 和组建 Swarm 集群时都是按照 Quick Start 相关的指引,使用的默认的 Docker AppArmor 安全配置文件。在删除节点时,
操作的配置是没有权限的。

所以这里可以简单的将 AppArmor 先禁用,再把节点删除。

1
sudo systemctl disable apparmor.service --now