一.安装docker
1. 一键脚本:
sudo curl -sSL https://get.docker.com | sh
2. 查看docker是否安装成功
docker -v
出现版本号即为成功
二.每次开机自动挂载硬盘到树莓派
sudo nano /etc/fstab
在最后一行加入挂载信息
/dev/sda1 /home/pi/disk ntfs-3g utf8,uid=33,gid=33,umask=0007 0 0
-
/dev/sda1表明硬盘位置,可以通过fdisk -l查看
-
/home/pi/disk是要挂载的目录,我们选择在主目录pi下新建disk用来挂载
-
ntfs-3g表明是ntfs格式的硬盘,如果是fat32、ext4可以用vfat、ext4代替
-
uid、gid是用户和用户组的id,可以通过cat /etc/passwd查看。一般uid和gid都是1000,即主用户pi。这里由于要作为owncloud的外部存储硬盘,需要使服务器可以访问修改数据文件,所以uid和gid改为apache的id,而apache在debian中的用户名为www-data,可以在/etc/passwd中看到对应的uid和gid为33
编辑完后 sudo reboot 重启。
这里权限没给好会导致owncloud在进入时无法创建管理员账户
三.创建owncloud将要使用的硬盘路径
sudo mkdir /home/pi/disk/owncloud
这里是因为自动把硬盘挂载到了/home/pi/disk 目录,相当于在硬盘中创建owncloud目录
四.docker拉取owncloud
sudo docker pull owncloud
使用如下命令创建容器(不使用mysql方式)
sudo docker run -p 8080:80 -d -v /home/pi/disk/owncloud:/var/www/html/data owncloud
解释:
-p 8080:80:
这里是为了将容器内的端口映射到我们的树莓派的操作系统的端口上
-v /home/pi/disk/owncloud:/var/www/html/data owncloud
这一步是为将容器里面的路径映射到容器外面来,这样就方便我们对文件的管理,":"左边为外部硬盘目录,右边为docker中运行的owncloud环境目录
-d: 守护态运行,即后台运行
五.查看创建的容器
sudo docker ps -a
这里会出现所有已经创建的容器,可以看到有一个正在运行,到浏览器输入树莓派局域网ip:8080即可访问owncloud界面。
第一次访问会让创建管理员账号,以及设置数据位置,默认为/var/www/html/data 即可,为docker环境中owncloud的目录,此时“/var/www/html/data”已被映射到了“/home/pi/disk/owncloud”当中,所有上传的文件都在硬盘下的owncloud目录下
六.重启设备后下次启动owncloud
sudo docker ps -a
查看所有owncloud容器,使用如下命令启动上次配置的容器
sudo docker container start containerID