整体思路:

1、官方获取mysql、php+apache镜像;

2、基于php+apache,创建OwnCloud镜像;

3、启动mysql镜像;

4、启动OwnCloud镜像,链接mysql镜像,访问Mysql数据库。

下面开始动手:

一、获取mysql镜像,并启动服务

  1. docker pull mysql:5.7
  2. docker run --name mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7

二、基于php:5.6-apache镜像,创建owncloud镜像(发布owncloud)

1、创建image-owncloud目录;

2、下载owncloud安装包:https://download.owncloud.org/community/owncloud-9.0.1.zip

3、将安装包解压,将其中的owncloud目录整体复制到image-owncloud目录下;

4、在image-owncloud目录下创建init.sh文件,内容如下:

  1. #!/bin/bash
  2. ocpath='/var/www/html'
  3. htuser='www-data'
  4. htgroup='www-data'
  5. rootuser='root'
  6.  
  7. printf "Creating possible missing Directories\n"
  8. mkdir -p $ocpath/data
  9. mkdir -p $ocpath/assets
  10. mkdir -p $ocpath/updater
  11.  
  12. printf "chmod Files and Directories\n"
  13. find ${ocpath}/ -type f -print0 | xargs - chmod
  14. find ${ocpath}/ -type d -print0 | xargs - chmod
  15.  
  16. printf "chown Directories\n"
  17. chown -R ${rootuser}:${htgroup} ${ocpath}/
  18. chown -R ${htuser}:${htgroup} ${ocpath}/apps/
  19. chown -R ${htuser}:${htgroup} ${ocpath}/assets/
  20. chown -R ${htuser}:${htgroup} ${ocpath}/config/
  21. chown -R ${htuser}:${htgroup} ${ocpath}/data/
  22. chown -R ${htuser}:${htgroup} ${ocpath}/themes/
  23. chown -R ${htuser}:${htgroup} ${ocpath}/updater/
  24.  
  25. chmod +x ${ocpath}/occ
  26.  
  27. printf "chmod/chown .htaccess\n"
  28. if [ -f ${ocpath}/.htaccess ]
  29. then
  30. chmod ${ocpath}/.htaccess
  31. chown ${rootuser}:${htgroup} ${ocpath}/.htaccess
  32. fi
  33. if [ -f ${ocpath}/data/.htaccess ]
  34. then
  35. chmod ${ocpath}/data/.htaccess
  36. chown ${rootuser}:${htgroup} ${ocpath}/data/.htaccess
  37. fi

5、在image-owncloud目录下创建Dockerfile文件,内容如下:

FROM php:5.6-apache

RUN apt-get update && apt-get install -y \
libfreetype6-dev \
libjpeg62-turbo-dev \
libmcrypt-dev \
libpng12-dev \
&& docker-php-ext-install -j$(nproc) mcrypt pdo_mysql\
&& docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
&& docker-php-ext-install -j$(nproc) gd

COPY owncloud/ /var/www/html/
COPY init.sh /var/www/html/init.sh
RUN chmod 777 /var/www/html/init.sh
RUN /var/www/html/init.sh
RUN rm /var/www/html/init.sh

5、进入image-owncloud目录下构建owncloud镜像

  1. cd image-owncloud
  2. docker build -t owncloud .

6、启动owncloud镜像

  1. docker run --name owncloud --link mysql:mysql -d -p 80:80 owncloud

7、浏览器中访问http://[宿主机IP],开始初始化owncloud。

Docker环境中部署OwnCloud 9.0的更多相关文章

  1. Docker环境中部署Prometheus及node-exporter监控主机资源

    前提条件 已部署docker 已部署grafana 需要开放 3000 9100 和 9090 端口 启动node-exporter docker run --name node-exporter - ...

  2. Docker环境中部署DzzOffice 1.2.5.2

    整体思路: 1.官方获取mysql.php+apache镜像: 2.基于php+apache,创建DzzOffice镜像: 3.启动mysql镜像: 4.启动DzzOffice镜像,链接mysql镜像 ...

  3. Eclipse中部署hadoop2.3.0

    1 eclipse中hadoop环境部署概览 eclipse 中部署hadoop包括两大部分:hdfs环境部署和mapreduce任务执行环境部署.一般hdfs环境部署比较简单,部署后就 可以在ecl ...

  4. win7 IIS7环境下部署PHP 7.0

    最近在本机电脑win7 II7环境下部署PHP 7.0遇到一些问题,将之记录下来 简要步骤如下: 1.到php官网下载php,由于是IIS环境要下载非线程安全的版本,我下载的是7.0.13 2.解压到 ...

  5. macOS 下 PHPStorm + Xdebug 调试 Docker 环境中的代码

    0x00 描述 宿主机是 mac mini,构建的项目在 docker 中,所以需要在 PHPStorm 上配置 Xdebug 进行远程代码调试. 0x01 环境 宿主机:macOS High Sie ...

  6. 如何在多机架(rack)配置环境中部署cassandra节点

    cassandra节点上数据的分布和存储是由系统自动完成的.除了我们要设计好partition key之外,在多机架(rack)配置环境中部署cassandra节点,也需要考虑cassandra分布数 ...

  7. Docker环境安装部署Java应用(含安装Tomcat和JDK)

    1.部署思路 两台docker机(centos 7系统),Docker 版本:18.09.6, build 481bc77156 Docker host IP:192.168.102.135 Dock ...

  8. Nginx系列(8)- Nginx安装 | Docker环境下部署

    Docker环境下部署Nginx https://www.cnblogs.com/gltou/p/15186971.html

  9. 关于 CDH 环境中部署 Dolphinscheduler 出现 hive-jdbc 包冲突的解决办法

    目前社区小伙伴经常反映在 cdh 环境中部署 Dolphinscheduler 出现 hive 包冲突的问题,报错日志信息如下: [WARN] 2020-04-29 09:55:30.815 org. ...

随机推荐

  1. Milk Pails

    Milk Pails 题目描述 Farmer John has received an order for exactly M units of milk (1≤M≤200) that he need ...

  2. 计算机学院大学生程序设计竞赛(2015’12) 1009 The Magic Tower

    #include<cmath> #include<cstdio> #include<cstring> #include<algorithm> using ...

  3. Email:2017

    Hi, 2017,我对自己有一个小小的期望:写写文字,安安心. Enjoy a simple life. 如我所愿吧! 明年再来问候你.

  4. 什么是deferred对象

    $.when().done().then()的用法  http://www.cnblogs.com/tiancai/p/5817996.html jQuery的开发速度很快,几乎每半年一个大版本,每两 ...

  5. [转] WebService开发笔记 1 -- 利用cxf开发WebService竟然如此简单

    以下文章来自   http://www.blogjava.net/jacally/articles/186655.html 现在的项目中需要用到SOA概念的地方越来越多,最近我接手的一个项目中就提出了 ...

  6. Linux终端、控制台复制粘贴

    1. 在终端下:          复制命令:Ctrl + Shift + C  组合键.          粘贴命令:Ctrl + Shift + V  组合键.  2. 在控制台下:        ...

  7. <Natural Language Processing with Python>学习笔记一

    Spoken input (top left) is analyzed, words are recognized, sentences are parsed and interpreted in c ...

  8. pyhton字符编码问题--decode和encode方法

    1  decode和encode方法 字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成uni ...

  9. MIPI-2

    Mipi针对显示有一整套解决方案,首先,框图如下 可以看到,很像OSI七层参考模型,分为 应用层:像素处理以及像素包管理,处理一些比较高的协议, 协议层底层:用于对打包好的像素数据进行二次打包,包括对 ...

  10. IOS开发-UI学习-UITextField的各种属性设置

    UITextField是IOS中非常常用的一个控件,用来接收用户输入信息,完成应用和用户的交互.它的主要属性设置如下: //初始化textfield并设置位置及大小 UITextField *text ...