将ubuntu设置为NAS——5. docker与docker-compose的安装
前言的前言
想通过本平台记录一些折腾小主机的过程,同时方便自己查阅,还能赚点金币,于是就有了这个小系列。之前已写了4篇,欢迎参看打赏。
我目前的主机外壳采用蜗牛星际外壳,主板是暴风酷播云华擎主板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
如果如图提示 ,说明就没有安装过上述旧版。
2.2 安装Docker Engine - Community(Docker CE)方案
官方介绍了3种安装方式:
官方推荐,设置docker官方源,进行安装,方便后期升级
下载离线安装包,进行安装
如果在测试环境下,用自动化脚本安装
这里主要介绍第一种,其他方式大家参考官网
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 -
通过搜索密钥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 //显示正在运行的容器
不会再提示错误,显示正在运行容器,但目前应该说明都没有,因为我们还没安装运行任何镜像。
CONTAINER ID:运行容器的ID,这个很有用,可以直接指代对应容器,而且不需要全输入,输入前3个数字就能指代对应容器。
IMAGE:下载的镜像名,容器依赖的镜像
STATUS:容器运行状态
PORTS:容器运行的网络端口
NAMES:容器名称
3、 docker-compose介绍
Compose是一个用于定义和运行多个Docker容器的编排工具。可以一条命令启动多个容器。主要是解决了容器与容器之间如何管理编排的问题。
我理解docker-compose不仅可以同时设置不同容器及相互的关系,而且还可以直接下载需要的镜像,让镜像运行在需要的容器里。使用它主要2步:
用docker-compose.yml文件设置定义各种容器及相关联
用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
修改权限
chmod +x /usr/local/bin/docker-compose
运行查看版本,版本号是1.24.1。
docker-compose -v
总结
本篇简单介绍了docker与docker-compose在Ubuntu下的安装,基本参考docker官方的文档。本篇是一个基础,大家可以先熟悉一下docker相关操作命令,可以在终端输入docker --help查看,简单了解一下。
rmbp
校验提示文案
就是爱捣腾
校验提示文案
一天只吃一颗糖
校验提示文案
1ak0ay
校验提示文案
折雷
校验提示文案
_自然派_
校验提示文案
更改了昵称
校验提示文案
菜蚊鸡打野
校验提示文案
justvd
校验提示文案
爱张大妈的张大爷
校验提示文案
幕后者
校验提示文案
卟一样
校验提示文案
NicholaO_o
校验提示文案
模糊啊
校验提示文案
爆料前搜历史低价
校验提示文案
值友3790576815
校验提示文案
编译原理
校验提示文案
布依班
校验提示文案
Rui_H
校验提示文案
libo0828
校验提示文案
z00196871
校验提示文案
值友6542474943
校验提示文案
sucresj
校验提示文案
iweiran
爱护新手人人有责
校验提示文案
超级布尔熊
校验提示文案
卟一样
校验提示文案
simaqs
校验提示文案
libo0828
校验提示文案
Rui_H
校验提示文案
布依班
校验提示文案
幕后者
校验提示文案
编译原理
校验提示文案
爱张大妈的张大爷
校验提示文案
NicholaO_o
校验提示文案
justvd
校验提示文案
值友3790576815
校验提示文案
菜蚊鸡打野
校验提示文案
爆料前搜历史低价
校验提示文案
更改了昵称
校验提示文案
_自然派_
校验提示文案