环境:

  • CentOS 7

目的:

安装nextcloud,并将数据库连接至mysql容器中。

准备

安装Docker,升级系统安装docker

$ sudo yum update
$ sudo yum install docker

配置docker镜像:

$ sudo vim /etc/docker/daemon.json
{
        "registry-mirrors":[
                "https://xxxx.mirror.aliyuncs.com",
                "https://registry.docker-cn.com",
                "http://docker.mirrors.ustc.edu.cn",
                "http://hub-mirror.c.163.com"
                ]
}
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker

拉取数据库和nextcloud

$ docker pull mysql:8.0
$ docker pull nextcloud

默认安装的是apache的最新版本,但不知道是不是改了源的问题,实际不是nextcloud:laset是个老版本。

配置MYSQL

配置mysql:(其中的password是改成你要用的密码 , 记住你创建的库名和库账号密码,建好后要在初始页面填写

$ docker run -d --name mysql \
    -v d_mysql:/var/lib/mysql \
    -e MYSQL_ROOT_PASSWORD=password \
    -e MYSQL_DATABASE=nextcloud \
    -e MYSQL_USER=nextcloud \
    -e MYSQL_PASSWORD=password \
    -p 3306:3306 \
    mysql:8.0

进入容器内的数据如检查是否创建正确。

$ docker exec -it mysql bash
root@XXXXXXXXX:/# mysql -u nextcloud -p
Enter password: 
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| nextcloud          |
+--------------------+
2 rows in set (0.00 sec)

配置nextcloud:

$ docker run -d --name nextcloud \
    -v nextcloud:/var/www/html \
    --link mysql:mysql \
    -p 8080:80 nextcloud

--link将两个容器连接,这样nextcloud就会直接使用mysql容器作为数据库了。同样-p指定端口,8080是服务器对外开放的端口(可自行定义端口)建议不要选热门端口就行。除此之外,还要确保该端口是打开的,否则访问时会被拒绝;可以用命令行的方式或者

首次登陆配置

创建一个前台账户密码

数据库选择mysql/MariaDB即可,最后一栏host填写mysql。

其他:

  此方式默认安装会将数据存在系统盘,修改系统盘设置见以下链接

安装好的nextcloud docker扩容问题(已更新)_汤姆懒猫的博客-CSDN博客_nextcloud 扩容,或者参考该文章,安装的时候修改数据存储位置即可。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐