Docker容器

Windows docker 搭建Nextcloud笔记

本文主要是介绍Windows docker 搭建Nextcloud笔记,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一、Docker安装

 

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/

 

 二、Nextcloud安装

 

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添加到启动项

 

三、Nextcloud配置

 

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

这篇关于Windows docker 搭建Nextcloud笔记的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!