windows开启wsl子系统,安装Ubuntu,并在子系统中安装OpenCode、docker,docker中安装redis、mysql、金仓

发布时间:2026/9/6 12:21:01
windows开启wsl子系统,安装Ubuntu,并在子系统中安装OpenCode、docker,docker中安装redis、mysql、金仓 一、windows安装wsl按开始键X键 选择终端管理员以管理员身份打开 PowerShell 依次执行开启WSL子系统功能dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart开启虚拟机平台dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart执行完重启电脑GitHub。上述操作后重启后继续管理员终端下载更新WSL内核wsl --update --web-download二、安装Ubuntu发行版二选一直接安装到C盘wsl --install -d Ubuntu --web-download将Ubuntu安装到D盘指定位置wsl --install -d Ubuntu --location D:\wsl\wsl_data --web-download配置环境sudo apt updatesudo apt install python-is-python3三、安装opencode安装nvmwget https://github.com/nvm-sh/nvm/archive/refs/tags/v0.40.3.tar.gz mkdir -p ~/.nvm tar -zxvf v0.40.3.tar.gz -C ~/.nvm # 把子目录内容移到 ~/.nvm/ 根下 mv ~/.nvm/nvm-0.40.3/* ~/.nvm/ rm -rf ~/.nvm/nvm-0.40.3 v0.40.3.tar.gz echo export NVM_DIR$HOME/.nvm ~/.bashrc echo [ -s $NVM_DIR/nvm.sh ] \. $NVM_DIR/nvm.sh ~/.bashrc source ~/.bashrc查看版本nvm --version如果上面报错后处理方式 直接安装nvmcurl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash # 加载环境变量 source ~/.bashrc # 验证安装 nvm --version初始化 并安装对应版本opencodenvm install 24 #安装opencode npm install -g opencode-ai进入到opencode# 进入到uBuntu wsl -d Ubuntu # 进入到opencode opencode四、Ubuntu安装ssh并支持xshell链接开启并运行sshsudo apt update sudo apt install openssh-server -y sudo service ssh start切换root用户和普通用户1、 切换root用户sudo -i输入当前普通用户密码 这里是123,回车后进入到root用户2、切换回普通用户#edy是普通用户的用户名输入完成后回车root没有密码直接切换成功su - edy五、Ubuntu安装docker安装docker前需要切换到root用户权限1、刷新软件源然后自动安装 Dockersudo apt update sudo apt install -y docker.io#2、查看docker是否启动成功docker ps1、docker镜像下载加速写入加速器配置**sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json EOF { registry-mirrors: [ https://docker.m.daocloud.io, https://docker.1ms.run, https://docker.1panel.live, https://docker.xuanyuan.me ] } EOF重启 docker**sudo systemctl restart docker验证加速器生效再拉镜像**docker info | grep -A5 Registry Mirrors docker pull redis2、docker安装mysqldocker run -d --name mysql8 -p 3306:3306 -e MYSQL_ROOT_PASSWORD123456 -e TZAsia/Shanghai -v mysql8-data:/var/lib/mysql --restart unless-stopped mysql:8.0 --character-set-serverutf8mb4 --collation-serverutf8mb4_unicode_ci如果安装失败则可以先下载镜像docker pull docker.m.daocloud.io/library/mysql:8.0给镜像打别名docker tag docker.m.daocloud.io/library/mysql:8.0 mysql:8.0删除旧的镜像标签docker rmi docker.m.daocloud.io/library/mysql:8.0再执行第一步命令安装mysql3、docker安装redis拉取redis镜像docker pull redis运行镜像生成容器docker run -itd \ --name redis \ --restartalways \ --log-opt max-size100m \ --log-opt max-file2 \ -p 6379:6379 \ -v /home/edy/redis/conf/redis.conf:/etc/redis/redis.conf \ -v /home/edy/redis/data:/data \ redis:latest \ redis-server /etc/redis/redis.conf \ --appendonly yes \ --requirepass 123456docker安装金仓数据库下载金仓数据库KES - 电科金仓-成为世界卓越的数据库产品与服务提供商上传到 WSL Ubuntu先切换rootsudo -i新建opt目录mkdir -p /opt把tar包从Windows‑D盘复制进Ubuntu内部/optcp /mnt/d/kingbase.tar /opt/进入目录cd /opt#查看文件是否上传成功ls导入docker镜像cd /opt #导入镜像 docker load -i kingbase.tar #查看镜像是否导入成功 docker images重命名镜像打标签tag后面是当前镜像名称需根据实际名称切换v9r1c10也是你可以直接改成v1docker tag kingbase_v009r001c010b0004_single_x86:v1 kingbase:v9r1c10删除旧的镜像标签docker rmi kingbase_v009r001c010b0004_single_x86:v1启动金仓容器docker run -tid --name kingbase --privileged \ -p 54321:54321 \ -v /opt/kingbase/data:/home/kingbase/userdata \ -e SYSDBA_PASSWORD123456 \ --restartalways \ kingbase:v9r1c10金仓数据库过期处理方法清理旧持久化目录如果是全新服务器可以跳过⚠️会清空所有旧数据库数据rm -rf /opt/kingbase/data创建全新空的数据目录mkdir -p /opt/kingbase/data运行上一步命令启动金仓容器如果密码错误可以关闭并删除容器docker stop kingbasedocker rm kingbase删除旧的数据目录rm -rf /opt/kingbase/data再重新安装容器初始化金仓数据库用户密码#1. 进入金仓数据库容器 docker exec -it kingbase /bin/bash #2. 进入数据库提示这个证明用户名不是SYSDBA [kingbase88b60aaf61b0 ~]$ ksql -U SYSDBA test ksql: error: could not connect to server: FATAL: role sysdba does not exist #3. 使用system账号进入 ksql -U system test #4. 修改用户密码 test# ALTER USER system WITH PASSWORD 123456; #5. 退出数据库 \q #6. 退出容器 exit六、迁移C盘的Ubuntu先备份Ubuntu目录不能有特殊字符包括空格可以有下划线可以再D盘新建两个文件夹wsl_backup存放原来c盘的备份和wsl_data(存放新的Ubuntu位置)我都放在了wsl文件夹下了wsl --export Ubuntu D:\wsl\wsl_backup\ubuntu_backup.tar等待执行完成去 D:\wsl_backup 看文件不为 0 字节才算导出成功2确认备份正常注销旧 C 盘 Ubuntuwsl --unregister Ubuntu查看是否已注销wsl -l -v #完整写法 wsl --list --verbose执行备份wsl --import Ubuntu D:\wsl\wsl_data D:\wsl_backup\ubuntu_backup.tar --version 2校验是否还原成功PS C:\Users\EDY wsl -l -v NAME STATE VERSION * Ubuntu Stopped 2 PS C:\Users\EDY查看Ubuntu现存位置PS D:\Program Files\wsl\wsl_backup (Get-ChildItem -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Lxss | Where-Object { $_.GetValue(DistributionName) -eq Ubuntu }).GetValue(BasePath) D:\wsl\wsl_data #成功了 PS D:\Program Files\wsl\wsl_backup删除备份的tar文件