Docker 安装说明
1 - Docker & Docker-Compose 安装手册 (Linux服务器)
SmartIDE可以使用任意安装了docker和docker-compose工具的linux主机作为开发环境远程主机,你的主机可以运行在公有云、私有云、企业数据中心甚至你自己家里,只要这台机器可以和互联网连通,就可以作为SmartIDE的远程主机。本文档描述正确安装docker和docker-compose工具以便确保SmartIDE可以正常管理这台远程主机。
环境要求列表
使用SmartIDE的远程主机需要满足以下要求
- 操作系统:
- Ubuntu 20.04LTS, 18.04LTS, 16.04LTS
- CentOS 7.2 以上
- 软件需求:
- Git
- Docker
- Docker-Compose
特别说明:你无需在linux主机上安装SmartIDE CLI命令行工具,因为所有的操作都可以在本地开发机(Windows/MacOS)上完成,SmartIDE本身内置使用SSH远程操作linux主机。
配置非root用户登陆服务器
使用SmartIDE远程控制的linux主机需要使用非root用户登陆,这是为了确保更加安全的开发环境以及主机和容器内文件系统权限的适配。请按照以下操作创建用户并赋予免密码sudo权限。
备注:以下操作需要使用root账号或者sudo方式运行。
以下脚本将创建一个叫做 smartide 的用户并赋予面密码的sudo权限。
## 创建用户及用户文件系统
useradd -m smartide
## 为用户设置密码,请在命令执行后输入你需要设置的密码,确保你将这个密码记录下来
passwd smartide
## 为用户添加sudo权限
usermod -aG sudo smartide
## 编辑 /etc/sudoers
vim /etc/sudoers
如果使用vim编辑器,按 “i” 进入插入编辑模式,编辑完成后按ESC退出编辑模式,输入 “:wq!” 保存退出。
在 /etc/sudoers 文件中添加如下内容
smartide ALL=(ALL) NOPASSWD: ALL
同时修改开头为 %sudo 的行为以下内容
%sudo ALL=(ALL) NOPASSWD: ALL
配置用户使用bash作为默认的shell
SmartIDE 使用一些特定的bash指令完成工作区调度,因此请确保你所使用的用户或者以上所创建的smartide用户的默认shell为bash。
vim /etc/passwd
更新
smartide:x:1000:1000::/home/smartide:/bin/sh
改为
smartide:x:1000:1000::/home/smartide:/bin/bash
一键安装docker和docker-compose工具
使用以上创建的smartide用户或者其他符合要求的非root用户登陆服务器。
使用以下命令在Linux主机上安装docker和docker-compose工具,运行完成之后请从当前终端登出并从新登入以便脚本完成生效。
# 通过ssh连接到你的Linux主机,复制并粘贴此命令到终端
# 注意不要使用sudo方式运行此脚本
curl -o- https://smartidedl.blob.core.chinacloudapi.cn/docker/linux/docker-install.sh | bash
# 退出当前登录
exit
完成以上操作后,请运行以下命令测试 docker 和 docker-compose 正常安装。
docker run hello-world
docker-compose -version
如何可以出现类似以下结果,则表示docker和docker-compose均已经正常安装。
完成以上2项设置之后,你就可以继续按照 快速启动 中 远程模式 部分的说明继续体验SmartIDE的功能了。
配置Sysbox
SmartIDE 的部分开发者镜像内使用了 VM-Like-Container 的能力,比如需要在容器内运行完整的docker,也就是嵌套容器(Docker in Docker - DinD)。类似的能力需要我们在主机上针对容器运行时(container runtime)进行一些改进。为了满足类似的能力,SmartIDE 采用了开源项目 sysbox 提供类似的容器运行时。
以下文档描述了如何在主机上安装 Sysbox容器运行时,在执行此操作之前,请确保已经按照本文档的上半部分正确安装了 docker环境。
本文档针对 sysbox 社区版的安装过程进行说明,如果需要安装企业版,请自行参考 sysbox 官方文档。
## 国内安装地址
wget https://smartidedl.blob.core.chinacloudapi.cn/hybrid/sysbox/sysbox-ce_0.5.2-0.linux_amd64.deb
## 国际安装地址
wget https://downloads.nestybox.com/sysbox/releases/v0.5.2/sysbox-ce_0.5.2-0.linux_amd64.deb
安装前需要通过执行以下命令移除当前正在运行的容器
docker rm $(docker ps -a -q) -f
执行以下指令完成安装
sudo apt-get install ./sysbox-ce_0.5.2-0.linux_amd64.deb
安装成功后通过执行以下命令来验证Sysbox是否安装成功并已启动服务,注意查看 active (running) 的提示信息
sudo systemctl status sysbox -n20
输出的信息如下图:
2 - Docker Desktop 安装手册 (MacOS)
Docker 桌面版(Docker Desktop)可以在桌面操作系统上管理容器化环境,SmartIDE本地模式需要调用Docker桌面版以便管理容器环境。安装这个工具其实非常简单,但是安装之后最好对工具的一些默认设置进行一些调整,以便让SmartIDE运行得更加高效。
硬件和操作系统要求
硬件要求:
- 2016款以后的MacBook, MacBook Pro或者Air都可以
- 最少4核8G,建议8核16G以上配置
- 最好使用SSD硬盘,并有100G以上空余存储空间
操作系统要求:
- 高于 OS 10.12
- 建议更新到最新版操作系统
下载安装包
Docker桌面是一款免费工具,大家可以从以下两个渠道下载:
- 官网下载地址 Docker Desktop
- 国内镜像
运行安装程序
双击下载的安装包文件,启动安装程序
按照图中提示,将左侧的Docker图标拖放到右侧的Application(应用程序)文件夹中,等待复制过程完成
打开 访达 | 应用程序 并双击 Docker 图标
这时系统会有安全提示,选择 打开 即可
Docker启动需要一段时间,等待启动完毕,就可以使用了
启动中状态
启动完成状态
配置Docker桌面版
默认情况下Docker桌面版会对其所使用的资源比例采取比较保守的策略,因为我们需要在容器中运行开发环境,你可以根据自己本地开发机的配置适当调高以下设置以便获得更好的体验。
建议:至少给Docker分配4个以上的CPU Core和8G以上内存。
验证 Docker桌面版 可以正常工作
打开命令行窗口运行以下命令:
docker run hello-world
如果你看到了类似如下的输出,则表示你的Docker桌面版已经正常工作,你现在就可以继续按照 快速启动 继续体验SmartIDE的功能了。
3 - Docker Desktop 安装手册 (Windows)
Docker 桌面版(Docker Desktop)可以在桌面操作系统上管理容器化环境,SmartIDE本地模式需要调用Docker桌面版以便管理容器环境。安装这个工具其实非常简单,但是安装之后最好对工具的一些默认设置进行一些调整,以便让SmartIDE运行得更加高效。
硬件和操作系统要求
硬件要求:
- 最低i5,推荐i7处理器
- 最少4核8G,建议8核16G以上配置
- 最好使用SSD硬盘,并有100G以上空余存储空间
操作系统要求:
- Windows 10 2004 (Build 19041或者更高版本)
- Windows 11
老版本的Windows不支持WSL2,必须要使用HyperV或者VirtualBox虚拟机才能运行Docker,这样对系统资源占用很大,不建议使用。
下载安装包
Docker桌面是一款免费工具,大家可以从以下两个渠道下载:
- 官网下载地址 Docker Desktop
- 国内镜像
启用WSL2
WSL2 是 Windows Subsystem for Linux 二代的简称,WSL2允许用户在Windows上运行受支持的Linux发行版。当前的Docker桌面版可以使用WSL2作为其Linux后台运行。因此我们需要首先在Windows操作系统上激活WSL2功能才能使用Docker做面板。
说明:Windows版本的Docker桌面其实也支持Windows容器,但是默认情况下我们更多的使用Linux容器作为我们的开发环境,因此在本文档中不会涉及对于Windows容器的配置。SmartIDE当前也不支持使用Windows容器作为开发环境。
步骤1 - 启动PowerShell
点击 开始按钮 | 输入 PowerShell,选择 以管理员身份运行
步骤2 - 启用WSL2功能
在 PowerShell终端 窗口中输入以下命令以便激活 WSL功能
# 复制并粘贴本段脚本到PowerShell终端窗口中执行
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
执行过程输出如下
步骤3 - 启用虚拟化平台功能
在 PowerShell终端 窗口中输入以下命令以便激活 虚拟化平台 功能
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
执行过程输出如下
步骤4 - 下载并安装Linux内核更新包
点击一下链接下载并安装
步骤5 - 将WSL2设置为默认版本
打开 PowerShell,然后在安装新的 Linux 发行版时运行以下命令,将 WSL 2 设置为默认版本:
wsl --set-default-version 2
步骤6 - 从Windows Store安装所需要的Linux分发版
打开 Microsoft Store,并选择你偏好的 Linux 分发版,推荐使用Ubuntu 20.04这个版本
安装完成后,点击 开始按钮 | 输入 Ubuntu 并选择 打开
第一运行需要先对这个环境设置你自己的用户名和密码
至此,你的Windows为安装Docker桌面版做好了准备
运行安装程序
双击打开下载的安装包,确保选中以下选项,并点击 OK
- Install required Windows componenets for WSL2
安装程序需要从网络下载一些资源,请确保安装过程网络畅通
安装完成后,点击 Close,关闭安装程序
点击 开始按钮 | 输入 Docker | 点击打开
点击 Accept 接受用户协议
等待 Docker 启动完毕
出现以下界面表示 Docker 已经正常启动,可以使用了。
配置Docker桌面版
默认情况下Docker桌面版会对其所使用的资源比例采取比较保守的策略,因为我们需要在容器中运行开发环境,你可以根据自己本地开发机的配置适当调高以下设置以便获得更好的体验。
因为我们指定Docker使用WSL2作为后台,因此我们无法通过Docker桌面版的配置工具直接修改资源占用情况。如果你打开 Docker 配置工具 会看到如下提示,提示用户要通过wslconfig配置文件来控制WSL的资源使用,以便控制Docker的资源占用。
你可以在 ~/.wslconfig 位置创建如下内容的文件,然后从新启动 Docker桌面版 即可。
[wsl2]
memory=8GB # Limits VM memory
processors=4 # Makes the WSL 2 VM use two virtual processors
有关wslconfig的详细配置请参考 配置 Linux 分发版 官方文档
建议给予WSL2至少8G内存和4以上的CPU Core以便获得比较好的使用体验。
验证 Docker桌面版 可以正常使用
打开命令行窗口运行以下命令:
docker run hello-world
如果你看到了类似如下的输出,则表示你的Docker桌面版已经正常工作,你现在就可以继续按照 快速启动 继续体验SmartIDE的功能了。