1.打开linux子系统和虚拟机平台,如果用wsl1需要打开Hyper,只用wsl2不打开Hyper也可以。
2.首先安装Docker for win,右上角Get Started,下载Windows版
3.安装好之后默认是wsl2,将Use the WSL2 based engine勾选去掉切换成wsl1内核,本次用wsl2内核。
4.wsl1与wsl2比较
微软官方文档:https://docs.microsoft.com/zh-cn/windows/wsl/compare-versions#whats-new-in-wsl-2
Docker 桌面 wsl2 后端文档:https://docs.docker.com/desktop/windows/wsl/
1.系统可以选用Debian或Ubuntu,本次采用Debian系统,微软商店下载安装好之后默认是wsl1,cmd执行下命令将系统升级到wsl2。
wsl --set-version debian 2
2.安装Nextcloud
Debian安装好之后打开,再打开cmd
(1)拉取最新nextcloud镜像(出现拉取进度停止取消重新拉取)
docker pull nextcloud
(2)拉取最新mysql镜像
docker pull mysql
(3)启动mysql实例
docker run --name test-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql
这里是把刚才下载的image运行一个实例,name随意,docker中显示名字,-p 本地端口:当前实例虚拟机里端口,-e参数设置数据库root默认密码
mysql已经在运行,端口3306
继续用命令行,可以登录到当前实例的shell,也可以在docker界面上点”CLI”按钮进入。
进数据库mysql -u root -p,可以创建用户、创建nextcloud数据库、创建表创建权限。
docker exec -it test-mysql bash
本次直接用root+密码,直接安装nextcoud,安装数据库完成。
(2)启动nextcoud实例
本次使用wsl2,只将/var/www/html/data数据挂载到C盘。如果挂载整个/var/www/html/会出错,Nextcloud一直初始化。
C:\nextcloud\ 该目录需要自己创建
docker run -dit -p 8080:80 --volume=/c/test:/var/www/html/data nextcloud
Nextcloud已在8080端口运行。
如果用docker run -d启动过一会容器会停止。
3.cmd操作wsl命令
wsl -l -v #查看wsl版本及wsl运行状态
wsl --set-version debian 2 #将wsl1升级为wsl2
(如出现不能升级问题,需先安装WSL 2 Linux 内核更新包,微软官网下载地址: https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi)
wsl--shutdown #关闭wsl子系统
debian config --default-user root #打开debian终端默认账户root
debian -c "service ssh start" ssh #ssh开机自启,需新建bat添加到启动项
1.进入localhost:8080配置Nextcloud
输入账号密码,数据库选择Mysql,Mysql占用内存较大,个人选择SQlite也没问题,不需要配置Mysql。
数据库名填写nextcloud自动创建nextcloud数据库,为了快速安装推荐安装应用打勾取消,之后安装完成。
进入Nextcloud
-可信任域名
当前访问是来自本地,本机可以直接访问,局域网或者外网访问,需要修改config。
解决方法:
打开 /config/config.php
找到 trusted_domains
增加一项
preg_match('/cli/i',php_sapi_name())?'127.0.0.1':$_SERVER['SERVER_NAME']
//添加之后完整的代码 //索引数字顺延就可以 'trusted_domains' => array( 0 => '127.0.0.1', 1 => preg_match('/cli/i',php_sapi_name())?'127.0.0.1':$_SERVER['SERVER_NAME'], ),
四、其他
1.换源
默认源是ubuntu、Debian的官方源,下载速度很慢,建议更换为清华源。
换源之后需前查看系统版本:
cat /etc/os-release 与 lsb_release -a #查看系统版本 uname -a#查看内核信息
Debian 11清华源一键导入(需删除原sources.list)
echo "# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释" >> /etc/apt/sources.list && \ echo "deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye main contrib non-free" >> /etc/apt/sources.list && \ echo "# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye main contrib non-free" >> /etc/apt/sources.list && \ echo "deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-updates main contrib non-free" >> /etc/apt/sources.list && \ echo "# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-updates main contrib non-free" >> /etc/apt/sources.list && \ echo "deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-backports main contrib non-free" >> /etc/apt/sources.list && \ echo "# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-backports main contrib non-free" >> /etc/apt/sources.list && \ echo "deb https://mirrors.tuna.tsinghua.edu.cn/debian-security bullseye-security main contrib non-free" >> /etc/apt/sources.list && \ echo "# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian-security bullseye-security main contrib non-free" >> /etc/apt/sources.list
Ubuntu20.04清华源一键导入(需删除原sources.list)
echo "\ # 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释 deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse">/etc/apt/sources.list
其他源到清华大学开源软件镜像站复制:https://mirrors.tuna.tsinghua.edu.cn/help/debian/
ubuntu20.04换清华源后可能出现不能更新、https更新失败,解决方案:
(1)换回默认的官方源
(2)更新/安装 ca-certificates
apt install ca-certificates
2.SSH配置过程:
(1)修改root密码
passwd
(2)删除原ssh
apt-get remove openssh-server -y
(3)重新安装ssh服务
apt-get install openssh-server ssh -y
(4)编辑sshd_config文件
vi /etc/ssh/sshd_config
#sshd_config需修改内容 #以下几行需要删除#号 Port 22 AddressFamily any ListenAddress 0.0.0.0 ListenAddress :: #以下内容no改为yes PermitRootLogin yes # 如果需要用 root 直接登录系统则此处no改为 yes PasswordAuthentication yes # 将 no 改为 yes 表示使用帐号密码方式登录
(5)重新启动ssh
service ssh restart
3.查看docker镜像版本和tag
https://hub.docker.com/r/library/ 要想查看镜像的版本和TAG,需要在docker hub查看
https://www.az009.com/tool/docker-search/ 这个网站也能查询
使用docker search 命令可以搜索Docker Hub 官方仓库中的镜像。
docker images查看已拉取镜像
4.docker常用命令
docker ps #查看所有容器
docker start 容器ID #启动容器
docker stop 容器ID #停止容器
docker restart 容器ID #重启容器
docker exec -it 容器ID /bin/bash #进入容器终端并且的保留为容器终端的输入形式,exit退出。
例:docker exec -it 3e0ec828337b /bin/bash
5.配置WSL内存
win+r输入 %UserProfile%,在文件夹内新建 .wslconfig,memory后是最大内存。
[wsl2] memory=4GB swap=0 localhostForwarding=true
如有侵权请联系删除。
参考:https://www.cnblogs.com/waterlufei/p/6994338.html
参考:https://zhuanlan.zhihu.com/p/428428649?ivk_sa=1024320u
参考:https://blog.csdn.net/MrLoading/article/details/122161089
参考:https://www.h5av.com/archives/191.html
参考:https://blog.csdn.net/lin252552/article/details/89336899
参考:https://www.cnblogs.com/mydailycoding/p/12375273.html