当先锋百科网

首页 1 2 3 4 5 6 7

一、环境准备

主机:centos7.8

工具:docker和docker-compose

二、容器mysql数据库

1、规划空间创建mysql目录。我这里直接在/下创建了

mkdir /mysql

2、mysql目录下创建一个docker-compose.yml

version: "3"
services:
  mysql:
    image: mysql:5.7 # 使用 mysql5.7 版本的镜像
    container_name: mysql # 容器名称
    restart: always # 自动重启策略
    ports:
      - 3306:3306 # 映射到宿主机的端口
    volumes:
      - ./conf.d:/etc/mysql/conf.d # 配置文件挂载的宿主机目录
      - ./data:/var/lib/mysql # 数据文件挂载的宿主机目录
    environment:
      - MYSQL_ROOT_PASSWORD=123456 # 初始的 root 用户的密码

3、当前目录下执行

docker-compose up --build -d

发现当前目录下自动创建了data和conf.d两个目录。并且mysql容器就已经启动了。

4、创建owncloud库以及用户授权

进入mysql,执行

show databases;
create database owncloud;
create use owncloud@"%" identified by '123456';
grant all on owncloud.* to owncloud@"%";
show grants for owncloud@"%";

三、容器owncloud

1、规划空间创建owncloud目录。我这里直接在/下创建了

mkdir /owncloud

2、owncloud目录下创建一个docker-compose.yml

version: "3.1"
services:
  app:
    image: owncloud:10.0.10
    container_name: owncloud
    restart: always
    ports:
      - 9090:80
    volumes:
      - ./data:/var/www/html     #/var/www/html 是owncloud默认目录,数据及配置在在里面
    extra_hosts:
      - "dockerhost:192.168.19.129"   # 宿主机的内网IP,便于容器内访问宿主机网络。dockerhost直接可以解析为192.168.19.129

3、当前目录下执行

docker-compose up --build -d

发现当前目录下自动创建了data目录。并且owncloud容器就已经启动了。

四、初始化owncloud配置

浏览器输入

宿主机ip:9090

配置数据库选择MySQL,连接地址:dockerhost:3306

五、其他说明

所有上传的东西都存放在了/owncloud/data/data/admin/files。其中/owncloud/data/这是自己创建的目录以及与容器/var/www/html的映射。