2018.06.04 初成文
2018.06.07 更新环境变量设置部分
本文是基于OMV(OpenMediaVault)上的,因为图形界面比命令行界面操作更简便,也有更良好的交互性。好吧,其实我是懒而已,用 OMV 好久了不愿更换其他软件。
OMV安装参考 https://www.jianshu.com/p/a4162cf0d2a5
一、安装docker
- 在
OMV-Extras
里勾选Docker CE
,并点更新
。
或
直接在源里添加
deb https://dl.bintray.com/openmediavault-plugin-developers/arrakis-docker stretch main
deb https://download.docker.com/linux/debian stretch stable
-
在
插件
里找到openmediavault-docker-gui
,勾选并安装。
或
命令行界面运行:sudo apt-get install openmediavault-docker-gui
-
安装完成后刷新页面,即可在左侧见“容器”,勾选“启用插件”,保存确认。
二、设置docker
-
设置部分
默认使用的是系统盘,如果空间不足,可能需要更改到其他位置。
docker images repo的源是针对x86-64的,一般是不适用的,因为树莓派处理器是ARM架构的。要么自己build,要么去找适用于arm的镜像image,有一个小技巧是右上角的搜索可以即时搜索image
https://hub.docker.com/u/arm32v7/
https://hub.docker.com/u/arm32v6/
https://hub.docker.com/u/lsioarmhf/
https://hub.docker.com/u/armhf/
https://hub.docker.com/u/armv7/如果设置没问题,那么就可以开始pull image了
也可以用个示例简单验证,docker配置是否正确。
命令行
sudo docker pull arm32v7/hello-world
然后试运行这个docker,出现下图类似信息
sudo docker run arm32v7/hello-world
三、使用docker容器
示例用https://hub.docker.com/r/lsioarmhf/rutorrent/
-
pull docker
点击“获取镜像”,在“源”里输入lsioarmhf/rutorrent
,标签一栏可以留空,默认是latest
,也可选特定tag. 点击“开始”,完成后点“关闭”
run docker
选中需要运行的镜像,然后点“部署镜像”,配置好后点保存。
- 容器名称:最好写让自己容易辨析的名称,也可以留空,运行后自动生成
- 与主机时间同步:
- 重启容器策略:无,总是重启,被停止时重启,启动失败时重启
- 以特权模式运行:启用后,容器内部的root和宿主机上的root在
Capability
方面拥有的权限一致,此时容器内的root对宿主机的危害是非常大的。如果没有启动priviledge特权模式,那么容器内的root用户会缺少很多的Capability
能力,比如没有SYS_ADMIN
能力等 - 网络模式:
桥接Bridge,用于端口转发,如我下图示例,容器默认端口是80,而设置转发后地址则为“主机IP:81”
主机模式Host:直接使用主机的端口
其它网络模式没用过,不清楚。 - Host name: 也可留空
- 环境变量:添加
PUID
和PGID
,其它一般不需更改,除非你清楚变量含义及有特定需求。切换到pi用户(新建其它用户也行)下,直接在终端输入id
即可知道当前用户的PUID和PUID,比如我这里直接用pi用户。
卷绑定:可以先在右侧的
Container Path
输入/
看看容器需要哪些参数,再把参数映射到宿主机的目录下,比如将容器内的/config
映射到宿主机的/home/pi/.config/docker-rutorrent
我图例就是将容器的下载目录/downloads
绑定为主机的/home/pi/Downloads
R/O
表示只读模式Volumes from: 使用其它容器的目录。
注意,修改添加选项参数,需要点右侧的“+”号才会生效。路径前面的“/”也别忘了。
-
选中需要运行的容器,点击
start
,如下图,稍等1-2分钟,等容器启动完成。
-
浏览器输入链接"主机IP:81",运行成功。
需要主要的是,容器重启后,容器内的数据将会丢失(容器外部的数据不会丢失),注意备份。
另外,
如果没有安装OMV的话,也可以参考官博 DOCKER COMES TO RASPBERRY PI 使用如下命令安装docker
curl -sSL https://get.docker.com | sh
可能你需要掌握一些有关docker的命令dokcer help
一些docker image推荐:
lsioarmhf/transmission bt/pt下载
lsioarmhf/rutorrent bt/pt下载下载
lsioarmhf/deluge bt/pt下载下载
lsioarmhf/plex 媒体播放、在线转码
lsioarmhf/nextcloud 私有云
arm32v7/nextcloud 私有云,同上
armv7/armhf-owncloud 私有云,公司倒闭了不建议用了
lsioarmhf/htpcmanager htpc管理器
arm32v7/wordpress 博客系统
armhf/wordpress 博客系统,不过这个作者好久没更新了
参考文章:
http://www.songming.me/docker.html
https://www.raspberrypi.org/blog/docker-comes-to-raspberry-pi/
https://forum.openmediavault.org/index.php/Thread/19553-OMV-Docker-plugin-media-server-Plex-PlexPy-Ombi-Libresonic-NZBGet-ruTorrent-Sona/