可以说是非常简单了,懒得再写 compose file。
先启 MySQL:
docker run -d --name nextcloud-mysql \
-v /data/nextcloud-mysql:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=<root 用户的密码> \
-e MYSQL_DATABASE=nextcloud \
-e MYSQL_USER=nextcloud \
-e MYSQL_PASSWORD=<nextcloud 用户的密码> \
-p 3306:3306 \
mysql:8.0
再启 Nextcloud:
docker run -d --name nextcloud \
-v /data/nextcloud-html:/var/www/html \
--link nextcloud-mysql:nextcloud-mysql \
-p 80:80 nextcloud
你可以适当的调整上面的参数,以符合你的环境要求。
成功启动后,用浏览器打开 http://127.0.0.1/ ,可看到安装页面;要求创建一个管理员帐号,以及配置数据库连接。在数据库连接的 host 项中填写上面 –link 的地址 nextcloud-mysql
,其他正常填写即可,点击确定后尽量不要退出或刷新网页,耐心等几分钟,会自动安装成功。
如果显示数据库的用户名或密码错误,请检查一下用户名和密码,再检查一下 host 和目标数据库。确认无误还是无法登录的话,你需要检查这些:数据库是否已经授权给了用户,mysql.user 中用户的密码 plugin 是否是 mysql_native_password
。
另外,初次打开 http://127.0.0.1/ 进行安装,页面可能会响应 502,注意去查看一下容器的日志。常常是文件权限的问题,启动容器的时候加参数 -v
,挂载了宿主机上的目录,Docker 可能没有权限访问这个目录,修改一下即可。
Nextcloud 默认视频没有封面预览图,需要先进入容器安装 ffmpeg,然后在配置中启用:
# /var/www/html/config/config.php
'enable_previews' => true,
'enabledPreviewProviders' =>
array (
0 => 'OC\\Preview\\Image',
1 => 'OC\\Preview\\Movie',
2 => 'OC\\Preview\\TXT',
),