Decentralization? We're still early!

最佳macOS版Docker方案:Orbstack+Linux+Docker

A group of white flowers sitting on top of a table

随着容器技术的不断发展,开发者对轻量级、高效的虚拟化工具需求日益增长。Orbstack作为一款专为macOS设计的新一代容器和虚拟机平台,提供了比传统Docker Desktop更轻量高效的解决方案。本文将探讨如何在Orbstack上运行Ubuntu系统,并在其中部署Docker和Dockge,构建一个灵活且高效的容器管理环境。

一、Orbstack简介

Orbstack是一个为macOS设计的现代化容器和虚拟机平台,它比Docker Desktop更轻量、更快速,具有以下特点:

  • 资源占用低:相比Docker Desktop,CPU和内存占用显著降低
  • 启动速度快:几乎即时启动容器和虚拟机
  • 与macOS深度集成:支持文件共享、端口转发等功能
  • 支持Docker和Kubernetes:兼容Docker命令和工作流

二、在Orbstack上运行Ubuntu的优势

在Orbstack上运行Ubuntu虚拟机并在其中部署Docker有以下优势:

  1. 环境隔离:Ubuntu虚拟机提供了与宿主机完全隔离的环境
  2. 灵活性:可以选择特定版本的Ubuntu系统
  3. 兼容性:解决某些应用在macOS上的兼容性问题
  4. 可移植性:整个环境可以轻松备份和迁移

三、实施步骤

1. 安装Orbstack

可以使用Homebrew安装(brew install orbstack),或从官网下载安装包:https://orbstack.dev/download

2. 创建Ubuntu虚拟机

启动Orbstack后,可以通过GUI界面或命令行创建Ubuntu虚拟机,并连接到虚拟机并进行基本配置。

3. 在Ubuntu中安装Docker

在Ubuntu虚拟机中安装Docker:

sudo apt install apt-transport-https ca-certificates curl software-properties-common -y

sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc

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

sudo apt update

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

sudo docker --version

4. 部署Dockge

Dockge是一个轻量级、开源的Docker Compose管理工具,提供了直观的Web界面。输入如下命令即可安装:

# Create directories that store your stacks and stores Dockge's stack
sudo mkdir -p /opt/stacks /opt/dockge
cd /opt/dockge

# Download the compose.yaml
sudo curl https://raw.githubusercontent.com/louislam/dockge/master/compose.yaml --output compose.yaml

# Start the server
sudo docker compose up -d

# If you are using docker-compose V1 or Podman
# sudo docker-compose up -d

5. 访问Dockge Web界面

Dockge部署完成后,可以通过以下URL访问Web界面:

http://localhost:5001

如果需要从宿主机访问,需要配置Orbstack的端口转发,将Ubuntu虚拟机的5001端口映射到宿主机。

四、常见问题及解决方案

1.端口映射问题

如果无法从宿主机访问Dockge,检查Orbstack的端口映射设置,并在Orbstack中设置端口转发。

orb expose ubuntu 5001:5001

2.Docker权限问题

如果遇到权限错误,确保当前用户已添加到docker组:

sudo usermod -aG docker $USER

# 重新登录以使更改生效

3.存储空间管理

查看磁盘使用情况

df -h

清理未使用的Docker资源

docker system prune -a

五、使用场景与应用

这种嵌套虚拟化方案适用于以下场景:

  1. 开发环境:提供与生产环境一致的开发测试环境
  2. 学习与测试:安全地学习和测试Docker技术
  3. 容器管理:通过Dockge简化Docker Compose项目的管理
  4. 跨平台开发:在macOS上运行需要Linux环境的应用

为获得最佳性能,可以考虑以下优化措施:

  1. 为Orbstack分配足够的资源(CPU、内存)
  2. 使用卷挂载优化I/O性能
  3. 定期清理未使用的镜像和容器
  4. 使用Docker的构建缓存加速镜像构建

六、结论

通过在Orbstack上运行Ubuntu,并在其中部署Docker和Dockge,我们可以构建一个灵活、高效的容器开发和管理环境。这种方案不仅保留了Docker的强大功能,还利用了Orbstack的轻量级特性,为macOS用户提供了更优的容器化体验。

相比于直接在macOS上使用Docker Desktop,这种方案提供了更好的隔离性和兼容性,同时Dockge的加入使得容器管理变得更加直观和简便。无论是对于开发人员、运维工程师还是Docker爱好者,这都是一个值得尝试的解决方案。

作为非营利站点,基地的建设离不开大家的捐助支持。在Cardano钱包(如Lace、Eternl 等)中输入 ADA Handle 名称$brave2049,即可为基地提供小额捐助。为支持Cardano治理和基地建设,亦欢迎将Cardano链上治理权限委托给Brave(Brave的Cardano链上治理DRep信息)

相關文章

回复