Docker中安装0wnCloud

一 、安装MySQL

mysql官方docker镜像已经版本到8.x的版本了,这里需要安装mysql 5.7版本就可以了

docker run --name owncloud-mysql5.7 -d \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=Owncloud \
-e MYSQL_DATABASE=owncloud \
-e MYSQL_USER=owncloud \
-e MYSQL_PASSWORD=Owncloud \
-v /data/owncloud/mysql:/var/lib/mysql \
mysql:5.7
  • 设置容器名为: owncloud-mysql5.7
  • 映射端口为: 3306
  • MYSQL_ROOT_PASSWORD: root账号密码
  • MYSQL_DATABASE: 创建数据库
  • MYSQL_USER: 新建用户
  • MYSQL_PASSWORD: 新建用户密码
  • 映射数据库数据目录/data/owncloud/mysql

二、查看MySQL容器中的IP

docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' owncloud-mysql5.7

这里查出来的ip是172.17.0.5

三、安装ownCloud

docker run --name owncloud --link owncloud-mysql5.7:mysql  \
-v /data/owncloud/data:/var/www/html/data \
-p 8080:80 \
-d owncloud
  • 映射ownCloud的/var/www/html/data目录到/data/owncloud/data
  • 映射端口为8080

四、配置nginx反向代理

在nginx配置文件中添加配置

upstream pan_server{
    server  127.0.0.1:8080;
}

server {
    listen   80;
    server_name cloud.xxx.cn;
    access_log /etc/nginx/log/cloud.access.log;
    error_log /etc/nginx/log/cloud.error.log;

    proxy_set_header X-Forwarded-For $remote_addr;

    location / {
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        add_header Cache-Control  "no-cache";

        proxy_pass http://pan_server;
        limit_rate 256m;
        client_max_body_size 0;
    }
}

五、初始化owncloud配置

浏览器输入nginx代理地址: cloud.xxx.cn

六、修改owncloud主机地址

默认用的是初始设置时的域名为网盘的域名,如果要修改域名,可以进入容器改配置文件,如果不需要修改,后面步骤可以 直接跳过了。

  • 进入容器
docker exec -it owncloud /bin/bash
  • 安装文本编辑器
apt-get update
apt-get install vim
  • 修改配置文件
# 用vip打开配置文件
vim /var/www/html/config/config.php

# 修改
array(
  0=>'127.0.0.1'
)
# 修改为
array(
  0=>'cloud.xxx.cn'
)

# 如果要修改端口,添加
'overwritehost' => 'cloud.xxx.cn:8080'

# 修改
'overwrite.cli.url' => 'http://127.0.0.1' ,
# 修改为
'overwrite.cli.url' => 'http://cloud.xxx.cn' ,
0%