将ubuntu设置为NAS——5. docker与docker-compose的安装

2019-10-28 18:31:51 72点赞 963收藏 68评论

前言的前言

想通过本平台记录一些折腾小主机的过程,同时方便自己查阅,还能赚点金币,于是就有了这个小系列。之前已写了4篇,欢迎参看打赏。

将ubuntu设置为NAS——1. Transmission-daemon安装前言之前看大妈这边的文章先是入手了一台暴风酷播云,然后折腾着又入手了一台C单的蜗牛星际主机,尝试了许多不同的系统,安装过黑群晖,u-nas,OpenMediaVault(OMV),windows10系统,windowsserver2019,ubuntu,deepin,这些一路折腾一下,算是涨了些知识杨某人| 12 评论6 收藏72查看详情

将ubuntu设置为NAS——2. 新增硬盘挂载前言想通过本平台记录一些折腾小主机的过程,同时方便自己查阅,还能赚点金币,于是就有了这个小系列。之前写了一篇《将ubuntu设置为NAS——1.Transmission-daemon安装》我目前的主机外壳采用蜗牛星际外壳,主板是暴风酷播云主板J3455,电源是暴风酷播云的台达电源,硬盘是一块固态硬盘杨某人| 10 评论6 收藏94查看详情

将ubuntu设置为NAS——3. 私人网盘nextcloud安装(上)前言的前言想通过本平台记录一些折腾小主机的过程,同时方便自己查阅,还能赚点金币,于是就有了这个小系列。之前写了2篇《将ubuntu设置为NAS——1.Transmission-daemon安装》《将ubuntu设置为NAS——2.新增硬盘挂载》我目前的主机外壳采用蜗牛星际外壳,主板是暴风酷播云主板J杨某人| 8 评论10 收藏69查看详情

将ubuntu设置为NAS——3. 私人网盘nextcloud安装(中)前言的前言想通过本平台记录一些折腾小主机的过程,同时方便自己查阅,还能赚点金币,于是就有了这个小系列。之前写了2篇《将ubuntu设置为NAS——1.Transmission-daemon安装》《将ubuntu设置为NAS——2.新增硬盘挂载》我目前的主机外壳采用蜗牛星际外壳,主板是暴风酷播云主板J杨某人| 48 评论34 收藏514查看详情

我目前的主机外壳采用蜗牛星际外壳,主板是暴风酷播云华擎主板J3455,电源是暴风酷播云的台达电源,硬盘是一块固态硬盘,3块1T的机械硬盘,原蜗牛星际背板拆除,电源与数据线直接接硬盘的方式。软件层面主要是用Kubuntu18.04系统(ubuntu其他风味版,和原版功能上没有太大区别),安装了Transmission-daemon用于下载,nextcloud用于网络硬盘,kvm作为虚拟机开软路由,还有其他一些简单功能,基本实现NAS的作用。后面我将慢慢分享其中的过程,作为小白,很多都是自己参考网上根据其他作者文章,再自己摸索实践出来,如有谬误,请各位指正,大家共同学习。后面涉及的命令行都是在ubuntu终端(不要问我终端是什么 )中输入,请大家注意。

正式的前言

之前写nextcloud的安装分享过程,有一些值友提出为什么不采用docker安装方式安装nextcloud?其实在《3. 私人网盘nextcloud安装(上)》我简单说过原因,觉得部分文件放在docker内部,需要映射挂载才能更方便使用,同时也错误地认为docker其实是一种虚拟机,感觉运行效率不高,所以就一开始就没采用这种方式。其实docker下安装实际上是一种很便捷简单安全的安装方式,很值得推荐的。在使用docker-compose之后,就更加简单了,只需简单设置docker-compose.yml文件,一行命令就基本都搞定了。

之前我使用过windows下安装docker桌面版,然后安装nextcloud,一开始自己很小白,整个使用过程遇到了很多很多问题,虽然最后能用了,但还是会有些问题存在。本篇也不是介绍在windows下用docker安装nextcloud,而是介绍在Ubuntu下用docker安装nextcloud。在这里我也还是不推荐使用windows的docker桌面版安装,如果您真想在windows下尝试,建议安装虚拟机,然后用虚拟机安装Ubuntu再安装docker尝试。

本篇单独先介绍在Ubuntu下docker及docker-compose安装,下篇再介绍docker下Nextcloud的安装。

1、docker简单介绍

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

以上是百度百科介绍,其实按照我的理解,docker其实是精简化的虚拟机,可以加载docker-hub内发布的镜像(images),使用过程就是再镜像的基础上编辑各个镜像之间的关系或者对镜像进行自定义设置,变成集成容器(container),各种应用就是运行在相互独立环境的容器(container)内的。这些docker-hub内的镜像都是应用作者制作并设置好环境的,用户只需下载镜像,简单设置,便能顺利启动。这有点像作者装好了主机,你拿过来插上电源网线,设置个用户名密码就能使用了。我简单谈谈自己的理解,如有不对,欢迎指教。

2、ubuntu下安装docker

docker在Ubuntu下有 Docker Enterprise Edition (Docker EE) 和 Docker Engine - Community(Docker CE)2个版本,Docker EE是企业版,这里我不用,我主要用 Docker CE即社区版,可免费使用。

2.1 卸载旧版本docker

如果你以前安装过 docker, docker.io, 或docker-engine ,需要先卸载,如果你Ubuntu新装的,这一步卸载就不用管了。

sudo apt-get remove docker docker-engine docker.io containerd runc

本机上没有旧版docker软件本机上没有旧版docker软件

如果如图提示 ,说明就没有安装过上述旧版。

2.2 安装Docker Engine - Community(Docker CE)方案

官方介绍了3种安装方式:

  1. 官方推荐,设置docker官方源,进行安装,方便后期升级

  2. 下载离线安装包,进行安装

  3. 如果在测试环境下,用自动化脚本安装

这里主要介绍第一种,其他方式大家参考官网

2.3 安装docker官方源

先升级本机自带源

sudo apt-get update

安装软件包,以允许apt通过HTTPS使用官方源,复制粘贴以下全部命令到终端开始安装,中间要按Y确认一下:

sudo apt-get install
apt-transport-https
ca-certificates
curl
gnupg-agent
software-properties-common

添加Docker的官方GPG密钥 ,可能需要点时间,提示OK,表示添加好了。

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -


将ubuntu设置为NAS——5. docker与docker-compose的安装

通过搜索密钥8个字符,验证是否已安装好密钥

sudo apt-key fingerprint 0EBFCD88

如果有以下提示,说明安装过程没问题

pub rsa4096 2017-02-22 [SCEA]
9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
uid [ unknown] Docker Release (CE deb)
sub rsa4096 2017-02-22 [S]


核对密钥核对密钥

添加docker稳定源(如果你的主机 不是x86_64 / amd64,请参看官方 ),全部复制粘贴如下代码到终端

sudo add-apt-repository
"deb [arch=amd64] https://download.docker.com/linux/ubuntu
$(lsb_release -cs)
stable"

2.4 安装Docker CE

还是先升级源列表

sudo apt-get update

常规apt-get安装方式,中途需要输入Y确认

sudo apt-get install docker-ce docker-ce-cli containerd.io

试验安装是否成功,查看版本号。

docker -v

查看版本查看版本

目前最新的是19.03.4版。

2.5 添加当前登陆用户到docker组

防止直接运行docker命令,提示权限问题,比如 Got permission denied while trying to connect to the Docker daemon socket 提示,这时需要在docker命令前面,添加sudo,这是由于 docker.sock是属于root用户和docker组的,为了后期命令输入不需要加前缀sudo,需要将当前登陆用户添加到docker组。

执行添加用户组命令

sudo gpasswd -a ${USER} docker

手动更新用户组,使其马上生效

newgrp - docker

测试

docker ps //显示正在运行的容器

不会再提示错误,显示正在运行容器,但目前应该说明都没有,因为我们还没安装运行任何镜像。

运行docker ps运行docker ps

CONTAINER ID:运行容器的ID,这个很有用,可以直接指代对应容器,而且不需要全输入,输入前3个数字就能指代对应容器。

IMAGE:下载的镜像名,容器依赖的镜像

STATUS:容器运行状态

PORTS:容器运行的网络端口

NAMES:容器名称

3、 docker-compose介绍

Compose是一个用于定义和运行多个Docker容器的编排工具。可以一条命令启动多个容器。主要是解决了容器与容器之间如何管理编排的问题。

我理解docker-compose不仅可以同时设置不同容器及相互的关系,而且还可以直接下载需要的镜像,让镜像运行在需要的容器里。使用它主要2步:

  1. 用docker-compose.yml文件设置定义各种容器及相关联

  2. 用docker-compose up命令运行docker-compose.yml文件启动应

其实这个跟windows的批处理文件很像。

4、docker-compose安装

windows10的docker桌面版已经集成docker-compose,但linux系统(比如ubuntu)需要再安装。

可以从该网址找到最新版安装下载方法。

目前最新稳定版是1.24.1,用以下命令,由于在墙外,可能下载速度不稳定或者很慢,请多试试

sudo curl -L https://github.com/docker/compose/releases/download/1.24.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose


下载docker-compose下载docker-compose

修改权限

chmod +x /usr/local/bin/docker-compose


查看docker-compose版本查看docker-compose版本

运行查看版本,版本号是1.24.1。

docker-compose -v

总结

本篇简单介绍了docker与docker-compose在Ubuntu下的安装,基本参考docker官方的文档。本篇是一个基础,大家可以先熟悉一下docker相关操作命令,可以在终端输入docker --help查看,简单了解一下。

参考

docker官方文档

docker-compose官方文档


展开 收起

UGREEN 绿联 DX4600 四盘位NAS存储 (赛扬N5105、8GB)

UGREEN 绿联 DX4600 四盘位NAS存储 (赛扬N5105、8GB)

1792元起

Synology 群晖 DS220+ 2盘位NAS (赛扬J4025、2GB)

Synology 群晖 DS220+ 2盘位NAS (赛扬J4025、2GB)

2179元起

QNAP 威联通 TS-464C 4盘位NAS(赛扬N5095、8GB)

QNAP 威联通 TS-464C 4盘位NAS(赛扬N5095、8GB)

2049元起

ZSpace 极空间 Z4 4盘位 NAS存储 黑色 (J4125 8GB)

ZSpace 极空间 Z4 4盘位 NAS存储 黑色 (J4125 8GB)

2584元起

Synology 群晖 DS920+ 4盘位 NAS存储(J4125、4GB)

Synology 群晖 DS920+ 4盘位 NAS存储(J4125、4GB)

2190.84元起

QNAP 威联通 TS-453Dmini 4盘位NAS(J4125、8GB)

QNAP 威联通 TS-453Dmini 4盘位NAS(J4125、8GB)

暂无报价

TERRAMASTER 铁威马 F4-424 Pro 四盘位NAS(Intel Core i3、32GB)黑色

TERRAMASTER 铁威马 F4-424 Pro 四盘位NAS(Intel Core i3、32GB)黑色

3599元起

极空间私有云Z4Pro 性能版 8核16G内存 四盘位Nas网络存储服务器家庭个人云【配4T希捷酷狼硬盘】珍珠白

极空间私有云Z4Pro 性能版 8核16G内存 四盘位Nas网络存储服务器家庭个人云【配4T希捷酷狼硬盘】珍珠白

4299元起

TERRAMASTER 铁威马 F4-424 四盘位 NAS存储(Intel Celeron N95、8GB)黑色

TERRAMASTER 铁威马 F4-424 四盘位 NAS存储(Intel Celeron N95、8GB)黑色

2499元起

HUAWEI 华为 新品华为家庭存储nas家用网络存储主机扩容储存备份文件同步共享

HUAWEI 华为 新品华为家庭存储nas家用网络存储主机扩容储存备份文件同步共享

1999元起

QNAP 威联通 TS-453Bmini 4盘位NAS(J3455、4GB)

QNAP 威联通 TS-453Bmini 4盘位NAS(J3455、4GB)

1899元起

QNAP 威联通 TS-212P3 双盘位NAS(Realtek RTD1295、1GB)

QNAP 威联通 TS-212P3 双盘位NAS(Realtek RTD1295、1GB)

799元起

HIKVISION 海康威视 Mage20 2盘位NAS (4GB)

HIKVISION 海康威视 Mage20 2盘位NAS (4GB)

567元起

UGREEN 绿联 DX4600 Pro 4盘位NAS(奔腾N6005、8GB)

UGREEN 绿联 DX4600 Pro 4盘位NAS(奔腾N6005、8GB)

1846元起

QNAP 威联通 TS-462C 4盘位NAS(赛扬N4505、4GB)

QNAP 威联通 TS-462C 4盘位NAS(赛扬N4505、4GB)

1849元起

Synology 群晖 DS918+ 四盘位NAS(J3455、4GB)

Synology 群晖 DS918+ 四盘位NAS(J3455、4GB)

暂无报价
68评论

  • 精彩
  • 最新
  • 什么时候讲k8s?

    校验提示文案

    提交
    目前我使用的东西,还没有需要用到k8s,docker基本都搞定,值友可以说明一下,哪些应用需要折腾到k8s,我下次折腾一下。

    校验提示文案

    提交
    自娱自乐的程度,没必要用k8s……k8s是为了pod的健康监控和状态管理,比如pod的自动探索,然而,还要看应用有没有解决弹缩带来的多实例问题……nas甚至都没必要用容器……

    校验提示文案

    提交
    还有7条回复
    收起所有回复
  • 个人更喜欢RHEL/CentOS系的,你这个装了物理ubuntu再运行docker,docker镜像里跑nas,感觉不如Exsi直接加载NAS系统的镜像

    校验提示文案

    提交
    不是这样的,docker没有跑NAS,您看前面文章其实Nextcloud是在Ubuntu下搭建环境直接运行。我是把Ubuntu作为NAS,更直接点是服务器。后面看值友提到docker就写点东西,顺便把之前docker折腾过程记录一下。其实Ubuntu也能安装虚拟机,再安装NAS,没必要安装Exsi。之所以我不选择Exsi,主要是上传文件到Exsi划分硬盘的速度不能满速,我一直解决不了,如果有值友可以指教一二,万分感谢。

    校验提示文案

    提交
    exsi io是个问题, [装大款] ,不如直通,讲真,性能优化就是个大问题了。

    校验提示文案

    提交
    还有8条回复
    收起所有回复
  • 值得买都变成技术论坛了呀 不过这年代还是不要compose了 都k8s了

    校验提示文案

    提交
    这样啊,还是要折腾啊,有机会学习一下

    校验提示文案

    提交
    单机搞个毛线的k8s,面向的场景都不一样,k8底层还不是调度docker

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 然而官方安装方式需要登梯子

    校验提示文案

    提交
    能看的懂还搞不定梯子?

    校验提示文案

    提交
    这里面都是翻译官方文档,英文大家应该都看得懂吧。只不过看到这个文档也得登高

    校验提示文案

    提交
    还有4条回复
    收起所有回复
  • 我不懂,docker之后,上下载文件不是虚拟机内部吗,这样会不会管理不方便,假设有一天要导出来的话

    校验提示文案

    提交
    docker不是虚拟机,准确说是容器,用来隔离进程,磁盘是可以挂在到docker内部的。

    校验提示文案

    提交
    确实有些文件在内部,需要进入内部才能操作。但可以把里面文件映射或者挂载到外部,nextcloud就可以把文件映射到外面,文件管理和设置就方便了

    校验提示文案

    提交
    收起所有回复
  • 大侠不用硬盘背板的原因是因为背板线路不好吗?

    校验提示文案

    提交
    原来我一直认为背板没问题,不过就是电路板里的导线。一直到有块硬盘出现c5,心有余悸,就直接买了些转接线把背板换了。实话说,不清楚是不是背板的问题,想想平时不会热插拔,也无所谓了。

    校验提示文案

    提交
    谢谢,我也觉得不靠谱(* ̄m ̄>,有时间也换了

    校验提示文案

    提交
    收起所有回复
  • 树莓派装好了docker之后发现不大会用 [喜极而泣]

    校验提示文案

    提交
    可以试试docker-compose,非常简单,用别人设置好的docker-compose文件,一步安装

    校验提示文案

    提交
    收起所有回复
  • 没必要compose。。写个shell就可以多启动几个docker images。。用到compose基本上都会被k8s代替的。。。不过k8s有点忒复杂,不搞复杂程序没必要 [喜极而泣] [喜极而泣] [喜极而泣]

    校验提示文案

    提交
    不是太懂shell,compose对于我,就是方便安装设置,简化流程,易于在不同电脑复制操作。

    校验提示文案

    提交
    收起所有回复
  • 楼主,请问这个系列能用家里的旧电脑试验吗?

    校验提示文案

    提交
    可以的,而且很是适用

    校验提示文案

    提交
    收起所有回复
  • 3455主板现在不敢入,怕CPU提早挂掉。有没有其他低功耗主板推荐?

    校验提示文案

    提交
    我也不是太懂,好像部分结尾带T的一些cpu也是低功耗的,可以尝试,性能方面也可能更强,功耗稍微大一点,应该还是在能接受范围。

    校验提示文案

    提交
    收起所有回复
  • 我在win10上也虚拟台ubuntu,现在想装个homeassistant,是直接安装呢,还是docker后安装呢?

    校验提示文案

    提交
    目前我还没试过,无法给出明确的答案,建议都可以试试,但docker安装应该会简单些

    校验提示文案

    提交
    试了,原来bt面板就有docker,挺方便的

    校验提示文案

    提交
    收起所有回复
  • 长期使用seafile的人,表示同步上来说,好像要比nextcloud来的好用。楼主有没有兴趣出个对比的文章?

    校验提示文案

    提交
    可以试试的

    校验提示文案

    提交
    收起所有回复
  • Docker都有了… [狂汗] 估计很快就要集群,分布式搞起来了…什么值得运维… [无语]

    校验提示文案

    提交
    哈哈哈,李时珍的皮。不过大部分nas文章都在说docker,只是作者的ubuntu+docker我都以为进错app了

    校验提示文案

    提交
    收起所有回复
  • 。。。要变技术论坛也就算了,但是这种东西都能上首页,。

    校验提示文案

    提交
  • 在值得买,居然还能看到这些。 [喜极而泣]

    校验提示文案

    提交
  • bios coms要设置下

    校验提示文案

    提交
  • k8s就算了 k3s玩玩吧。

    校验提示文案

    提交
    k3s是什么?我只知道s5m

    校验提示文案

    提交
    收起所有回复
  • 不错不错。 [皱眉]

    校验提示文案

    提交
  • (⊙o⊙>哇刚刚开始了解elabftw,然后知道docker,然后就看到这个文章

    校验提示文案

    提交
  • 什么值得买里边高手云集。。。

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
963
扫一下,分享更方便,购买更轻松