下载安装

附件

随着云计算及云原生的发展,Docker 基本上成了事实上的部署方式。对于运维来讲,使用 Docker 镜像非常简单(当然制作 Docker 镜像还是有些门槛);对于开发来讲,可以快速搭建和切换开发环境,也可以很好地保持开发环境和生产环境的一致性。XSwitch 目前仅提供 Docker 镜像的部署方式。为照顾不熟悉 Docker 的用户,本文提供一些 Docker 安装参考。如果你还不熟悉 Docker,可以先阅读Docker 简介及常用命令,读完了别忘了回来。

Docker 安装

如果你使用 Ubuntu 或者 Debian Linux 等操作系统,可以使用如下命令一键安装(通过--mirror参数使用阿里云的镜像速度会快一些):

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

或使用 DaoCloud 提供的一键安装方式:

curl -sSL https://get.daocloud.io/docker | sh

上述安装过程适用于在开发环境下安装,如果是生产环境,建议参考官方的安装文档 https://docs.docker.com/engine/install/debian/ 进行安装。

在 macOS 和 Windows 上,推荐安装 Docker Desktop 版本。比如,在 Windows 上,可以从 https://docs.docker.com/desktop/install/windows-install/ 下载 Docker Desktop on Windows 安装包,然后双击安装即可。该版本有两个后端可选,一个是 Hyper-V,一个是 WSL 2。两种后端都有各自的优缺点和适应的情况,官方没有特别推荐哪一种方式更好,不过,笔者倒是建议先尝试使用 WSL 2 后端,如果有问题再换到 Hyper-V。

安装完成后,可以在 PowerShell 中输入docker run --rm hello-world来测试一下是否安装成功。

在 Windows 上,还有另外一种安装方式,那就是先用 WSL 安装 Debian(或 Ubuntu),再在 Debian 里面按照上面讲的 Debian 上的方法安装 Docker。

在 macOS 上,可以从 https://docs.docker.com/desktop/install/mac-install/ 下载 Docker Desktop for macOS 安装包,该安装包有两个版,分别是基于 Intel CPU 的和基于 Apple Silicon CPU 的,根据自己使用的 CPU 选择即可。下载安装包后,双击节安装包,在打开的窗口中将 Docker 图标拖到 Applications 文件夹中即可。

Orbstack 是 macOS 上的 Docker Desktop 的替代品,比后者更轻量级,界面也简洁,非常好用,笔者一直使用它。它使用类似 WSL 的集成方式,支持安装 Linux 虚拟机 和 Docker。目前对个人使用是免费的。

不同系统上具体的安装方法不同,也有不少细节,下面再提供一些安装方式,供参考。

在 Debian 上安装 Docker

参考官方的安装文件,需要安装 Docker Engine 和 Docker Compose(如果非 root 用户请在命令前加 sudo),如下:

apt-get remove docker docker-engine docker.io containerd runc
apt-get update
apt-get install ca-certificates curl gnupg lsb-release
mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
  $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
apt-get update
apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin

安装完可以用docker versiondocker compose version命令查看是否安装成功。

最新版的 Docker Compose 是 Docker CLI 的一部分,命令执行方式改为 docker compose,与旧版docker-compose可在服务器上并存。两者的具体区别可参见 https://docs.docker.com/compose/cli-command-compatibility

在 Windows 上安装 Docker

在 Windows 上安装 Docker 有两种方式:

  • 通过 WSL 2 安装 Debian(或 Ubuntu),再在 Debian 里面安装 Docker Engine。
  • 直接安装 Docker Desktop,这种方式是 Windows 原生的安装方式。

第一种方法实际上跟在上面讲的在 Debian 中的安装方式一样,下面,我们仅介绍第二种方式。

Docker Desktop

Windows 环境可以选择安装 Docker Desktop, 其中包含了 Docker Engine 、 Docker CLI 、 Docker Compose 等应用,并且还提供了一个简单的 GUI(图形用户界面),让您可以直接从您的机器管理您的容器、应用程序和镜像。

安装前提

  • 需要安装 1.1.3.0 或更高版本的 WSL 2 。
  • Windows 11 64 位:家庭版或专业版 21H2 或更高版本,或者企业版或教育版 21H2 或更高版本。
  • Windows 10 64 位:
    • 建议使用 Home 或 Pro 22H2(内部版本 19045)或更高版本,或者 Enterprise 或 Education 22H2(内部版本 19045)或更高版本。
    • 最低要求是家庭版或专业版 21H2(内部版本 19044)或更高版本,或者企业版或教育版 21H2(内部版本 19044)或更高版本。
  • 在 Windows 上打开 WSL 2 功能。
  • 硬件要求:
    • 64 位处理器
    • 4GB 系统内存
    • 在 BIOS 中启用硬件虚拟化

安装 WSL 2

Docker 依赖 WSL,WSL(Windows Subsystem for Linux,适用于 Linux 的 Windows 子系统)是微软公司推出的一种在 Windows 上运行 Linux 的技术。WSL 有两个版本,我们推荐 WSL 2。关于两个版本的区别,可以参考微软的官方文档 WSL 2

要安装 WSL 2,从 Windows 开始菜单启动启动 Windows Terminal,然后在 Windows Terminal 中输入以下命令安装 Linux 发行版:

wsl --install -d Debian

完成后,使用“开始”菜单打开 Debian。 系统将要求你为 Linux 发行版创建“用户名”和“密码”。

更多 WSL 命令或者使用信息,请参考官方文档

安装 Docker Desktop

下载安装包

点击下载 Docker Desktop,并按照安装说明进行操作。

启动

安装后,从 Windows 开始菜单启动 Docker Desktop,然后从任务栏的隐藏图标菜单中选择 Docker 图标。 右键单击该图标以显示 Docker 命令菜单,然后选择“设置”。

修改配置

确保在“设置”>“常规”中选中“使用基于 WSL 2 的引擎”。 通过转到“设置”>“资源”>“WSL 集成”,从要启用 Docker 集成的已安装 WSL 2 发行版中进行选择。

安装后确认

若要确认已安装 Docker,在 Windows Terminal 中输入 docker --version 来显示版本和内部版本号。

网络模式

在 Windows 上,使用 Docker Desktop 运行的容器使用 NAT 网络模式,通过这种模式,可以让局域网上的机器访问到容器内的服务,如 XSwitch。

XSwitch 需要的网络比较复杂,需要开通好多 TCP 和 UDP 端口,在使用时要注意。

如果使用第一种方式安装的 Docker(在 WSL 2 上安装的 Debian 里面安装的 Docker Engine),可以在 Debian 里使用 Host 网络模式运行容器,在宿主机上可以正常访问,但是,在局域网上其他机器上访问就比较复杂。

如果你安装 Docker 后只是在本地(Windows 宿主机上)测试和开发 XSwitch,则两种安装方式没什么不同。但如果你想在局域网上访问 XSwich 服务,且是使用第一种方式安装的 Docker,则需要做一些额外的配置,具体可以参考下面的 WSL 2 镜像模式相关配置。

WSL 2 镜像模式

启用镜像模式会将 WSL 更改为全新的网络体系结构, 它会将 Windows 上的网络接口“镜像”到 Linux 中。

启用方式如下:

  1. 在 Windows 的 %UserProfile% 目录下创建 .wslconfig 文件
  2. 在 .wslconfig 文件中添加以下内容:
[experimental]
autoMemoryReclaim=gradual
networkingMode=mirrored
dnsTunneling=true
firewall=true
autoProxy=true
sparseVhd=true
hostAddressLoopback=true
  1. 在 Windows Terminal 中输入以下命令,停止 Linux
wsl --shutdown
  1. 在 Windows Terminal 中输入以下命令,重新启动 Linux
wsl
  1. 在 Windows Terminal 中输入以下命令,查看是否启用成功
ip addr

检查其网络接口是否为 Windows 的网络接口,是的话表示启用成功。

更多参考

以下链接上列出了各操作系统上 Docker 的安装方法:

下面几个链接上也有中文的安装说明,内容有些旧,仅供参考。

以下地址上有更多参考链接:

https://github.com/rts-cn/xswitch-free

安装旧版本 docker-compose

有时候,可能需要旧版本的docker-compose。如果您需要安装旧版的docker-compose,以下命令供参考:

curl -L https://get.daocloud.io/docker/compose/releases/download/1.27.4/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
重装