整體思路:
1、官方獲取mysql、php+apache鏡像;
2、基於php+apache,創建OwnCloud鏡像;
3、啟動mysql鏡像;
4、啟動OwnCloud鏡像,鏈接mysql鏡像,訪問Mysql數據庫。
下面開始動手:
一、獲取mysql鏡像,並啟動服務
docker pull mysql:5.7
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文件,內容如下:
#!/bin/bash ocpath='/var/www/html' htuser='www-data' htgroup='www-data' rootuser='root' printf "Creating possible missing Directories\n" mkdir -p $ocpath/data mkdir -p $ocpath/assets mkdir -p $ocpath/updater printf "chmod Files and Directories\n" find ${ocpath}/ -type f -print0 | xargs -0 chmod 0640 find ${ocpath}/ -type d -print0 | xargs -0 chmod 0750 printf "chown Directories\n" chown -R ${rootuser}:${htgroup} ${ocpath}/ chown -R ${htuser}:${htgroup} ${ocpath}/apps/ chown -R ${htuser}:${htgroup} ${ocpath}/assets/ chown -R ${htuser}:${htgroup} ${ocpath}/config/ chown -R ${htuser}:${htgroup} ${ocpath}/data/ chown -R ${htuser}:${htgroup} ${ocpath}/themes/ chown -R ${htuser}:${htgroup} ${ocpath}/updater/ chmod +x ${ocpath}/occ printf "chmod/chown .htaccess\n" if [ -f ${ocpath}/.htaccess ] then chmod 0644 ${ocpath}/.htaccess chown ${rootuser}:${htgroup} ${ocpath}/.htaccess fi if [ -f ${ocpath}/data/.htaccess ] then chmod 0644 ${ocpath}/data/.htaccess chown ${rootuser}:${htgroup} ${ocpath}/data/.htaccess 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鏡像
cd image-owncloud
docker build -t owncloud .
6、啟動owncloud鏡像
docker run --name owncloud --link mysql:mysql -d -p 80:80 owncloud
7、瀏覽器中訪問http://[宿主機IP],開始初始化owncloud。