用Ubuntu打造NAS操作系统 篇八:Ubuntu下Docker的安装与使用

2019-12-27 22:14:27 29点赞 136收藏 25评论

经过前面那么多期的铺垫,今天我们终于可以来安装使用我么的docker了。这是一个非常好用的工具,我们的NAS服务百分之九十都会部署在docker上运行。

有了docker以后,你不再需要小心翼翼地担心把系统配置搞乱无法恢复,在这里你可以通过几个简单地命令就可以将相关服务重新部署回来。

就这样,请拥有,并享受

Docker简介

如你并不想了解Docker是什么,只需要能简单的用就行地话你可以跳过本小节,直接进入Docker的安装部分。

关于Docker的详细信息我们可以去Docker的官网查看,点击这里可以跳转。

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

这是百科对Docker的解释,看到这里是不是很懵,不要紧,我来为你解释。

Docker是一个容器引擎,容器就是用来放东西的,Docker容器里面放的就是操作系统,一个容器对应一个操作系统,你可以把Docker想象成虚拟机,但是和虚拟机不同的是,得益于Docker的机制,在Docker中运行虚拟机往往不需要很多内存以及处理器资源,相比VMWare动则几个G的大小,在Docker中运行一个虚拟机仅需几十兆到几百兆的空间,你可以运行几十甚至上百个虚拟机在Docker中,这是VMWare所不能比的。

在开始搭建之前,你需要了解docker的几个基本概念

镜像:镜像就是实际就类似于一个安装镜像,比如你需要安装Windows,那么你需要去微软的官网下载windows的镜像,你才能进行安装。

DockerHub:DockerHub就是一个存放以及分享镜像的地方,你可以将你自己制作的镜像上传到DockerHub与别人分享,你也可以到DockerHub下载别人分享的镜像进行使用。

容器:当你启动了一个镜像之后,对应着就会有一个容器生成,容器是用来存储镜像运行时的状态的,这就相当于你通过镜像创建了一个虚拟机,那么创建完成后你的虚拟机就跑在了容器中。镜像是静态的,而容器是动态的。

有了对Docker的一个简单了解后,我们就可以进行接下来的操作了。

Docker安装与卸载

Docker安装

在apt的官方源中已经加入了Docker,但是这往往不是最新的版本,要安装最新的版本,我们需要进行一些简单的配置。

Docker提供了Enterprise以及Community两个版本可供安装,我们只需要安装Community版即可,这是一个社区版,可以免费使用。

如果你以及安装了一个老的版本的Docker,那么你需要先卸载它,老版本的Docker软件名字为dockerdocker.io或者是docker-engine,你可以通过下面语句卸载它。

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

1. 首先更新apt包的索引:

sudo apt update

2. 安装软件包以允许apt通过HTTPS使用存储库:

sudo apt-get install

apt-transport-https

ca-certificates

curl

gnupg-agent

software-properties-common

3. 添加Docker的官方GPG密钥:

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

9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88通过搜索指纹的后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) <docker@docker.com>

sub rsa4096 2017-02-22 [S]

4. 使用以下命令来设置稳定的存储库

sudo add-apt-repository

"deb [arch=amd64] https://download.docker.com/linux/ubuntu

$(lsb_release -cs)

stable"

5. 更新apt包索引。

sudo apt-get update


6. 安装最新版本的Docker Engine-Community和containerd

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


7. 验证安装是否成功

docker --version

如果出现如下的版本号,即为安装成功

Docker version 19.03.5, build 633a0ea838

Docker卸载

1. 卸载Docker Engine-社区软件包:

sudo apt purge docker-ce

2. 主机上的映像,容器,卷或自定义配置文件不会自动删除。要删除所有图像,容器和卷:

sudo rm -rf /var/lib/docker

Docker配置及基本使用

在完成docker的安装后,我们就可以开始使用docker来部署服务了,在此之前,我们先来学习一下docker的基本使用方法。

在docker中你首先需要有镜像文件(images),你才可以通过镜像来部署相关服务,镜像的话你可以到DockerHub获取,也可以自己写dockerfile来构建镜像(本专栏不涉及)。

Docker配置

1. 修改镜像源

docker服务器在国外,在国内访问速度很慢,我们可以通过修改镜像源为阿里云来启用加速

首先到阿里云镜像服务中心,你需要登录阿里云。

镜像服务中心镜像服务中心

然后进入管理控制台,然后选择镜像中心 -> 镜像加速器

镜像加速镜像加速

如果你没有的话会提示你进行申请,完成后会看到上图的信息,会提示你进行配置,配置的话你只需要将配置镜像加速器下方的代码复制到终端执行即可(如果你分不清命令的话一次性全部复制完,粘贴后按下回车键)。

这样当以后下载镜像的时候就会快很多。

Docker基本使用

1. 获取镜像文件

首先到docker官网:点击这里进行注册注册完成后登录

docker官网docker官网

然后点击左上角的搜索框输入需要搜索的东西可进行搜索,这里以搜索Ubuntu为例

镜像搜索镜像搜索

完成搜索后我们可以看到列出了很多的项目,我们根据自己的需要点开一个镜像

镜像页面镜像页面

在这里我们我们可以看到相关的镜像描述以及基本的信息,右边有一栏黑色的代码框,通过输入代码框的命令我们即可获取相关的镜像。

在这里我们输入一下命令来获取镜像

docker pull ubuntu

获取镜像获取镜像


下载完成后我们可以通过以下命令查看本地的镜像

docker images

查看本地镜像查看本地镜像

REPOSITORY:镜像名

TAG:标签:latest为最新版本

IMAGE ID:镜像ID,镜像唯一标识符

CREATED:构建时间

SIZE:镜像大小

2. 构建容器

在有了本地镜像之后,我们就可以来构建容器了,我们先通过一个简单的例子来讲解

docker run -d

-p 9999:8096

--name=ubuntu

-v /mnt/sda:/mnt

--restart=always

--device /dev/dri/renderD128:/dev/dri/renderD128

ubuntu

出现下图所示内容即创建成功

构建成功构建成功

上面命令你也可以将符去掉写成一行,这里来讲解一下各个参数的作用

  1. -d:表示运行容器后台运行

  2. -p:端口映射,格式为**主机端口:容器内端口**,即通过主机的该端口既可以访问到容器内的端口内容

  3. --name:命名容器,默认生成的容器名字是随机的,可以通过该命令指定

  4. -v:绑定文件卷,格式为**主机目录:容器内目录**,在主机上的某一目录映射到容器内,即通过容器内指定的目录即可访问到主机对应的目录中的文件。

  5. --restart:开机重启,always为开机重启

  6. --device:绑定硬件到容器内部,在后面章节做详细讲解。


其他相关命令

创建成功后我们可以通过如下命令查看正在运行的容器:

docker ps

通过一下命令查看所用容器,包括未运行的容器:

docker ps -a

停止容器:

docker stop 容器名/容器id

这里容器id只需要输入前几位就可以,只要能和其他的区别开来就行

启动容器:

docker start 容器名/容器id

删除容器(删除前需要先停止容器):

docker rm 容器名/容器id

删除镜像(删除前需先删除用该镜像构建的容器)

docker rmi 镜像id

命令总结


1. docker pull:拉取镜像

2. docker images:查看本地镜像

3. docker run:通过镜像构建容器

4. docker ps:查看正在运行的容器

5. docker ps -a:查看所有容器

6. docker start:启动容器

7. docker stop:停止容器运行

8. docker rm:查出容器

9. docker rmi:删除镜像

写在后面

容器相对来说使用还是比较简单的,通过简单的学习就可以使用。如果你对其还不是很熟悉,你应该多去实际使用上面的命令,在这里你不用担心出错,大不了使用docker rm删除了再来一次,而不用担心物理机环境遭到破坏。

目录专栏

[✔] 前言

[✔] Ubuntu18.04的安装

[✔] 基本工具安装及使用

[✔] SSH工具XShell的连接使用

[✔]WEB-UI管理面板webmin(轻量级较全面)安装及使用

[✔]WEB-UI管理面板Cockpit(轻量简单)安装与使用

[✔] Ubuntu挂载硬盘

[✔] Ubuntu下Docker的安装与使用

展开 收起

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

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

1849元起

ZSpace 极空间 私有云 Z4Pro 8G版 4盘位NAS存储(N97、8GB)

ZSpace 极空间 私有云 Z4Pro 8G版 4盘位NAS存储(N97、8GB)

2599元起

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

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

1796元起

ZSpace 极空间 私有云 Z4Pro 性能版 NAS存储(N305、16GB)

ZSpace 极空间 私有云 Z4Pro 性能版 NAS存储(N305、16GB)

3549元起

UGREEN 绿联 DX4600+ 4盘位NAS(赛扬N5105、8GB)

UGREEN 绿联 DX4600+ 4盘位NAS(赛扬N5105、8GB)

1999元起

QNAP 威联通 TS-464C2 四盘位 NAS网络存储(赛扬N5095、8GB)黑色

QNAP 威联通 TS-464C2 四盘位 NAS网络存储(赛扬N5095、8GB)黑色

2599元起

ZSpace 极空间 私有云 Z423 旗舰版 8盘位NAS存储(锐龙R7-5825U、64GB)

ZSpace 极空间 私有云 Z423 旗舰版 8盘位NAS存储(锐龙R7-5825U、64GB)

5999元起

ZSpace 极空间 私有云 Z4Pro 16G版 4盘位NAS存储(N97、16GB)

ZSpace 极空间 私有云 Z4Pro 16G版 4盘位NAS存储(N97、16GB)

2899元起

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

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

2179元起

Synology 群晖 DS224+ 双盘位NAS(赛扬J4125、2GB)

Synology 群晖 DS224+ 双盘位NAS(赛扬J4125、2GB)

2849元起

UGREEN 绿联 DH2600 双盘位NAS (N5105、4GB)

UGREEN 绿联 DH2600 双盘位NAS (N5105、4GB)

1349元起

QNAP 威联通 TS-466C 四盘位NAS(奔腾N6005、8GB)

QNAP 威联通 TS-466C 四盘位NAS(奔腾N6005、8GB)

3199元起

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

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

3899元起

ZSpace 极空间 私有云 T2 2盘位NAS存储(RK 3568、4GB)

ZSpace 极空间 私有云 T2 2盘位NAS存储(RK 3568、4GB)

1799元起

sgwbox 拾光坞 N3 星光版V(瑞芯微RK3566,2G,支持docker)

sgwbox 拾光坞 N3 星光版V(瑞芯微RK3566,2G,支持docker)

387.8元起

ZSpace 极空间 私有云Z2Pro 四核2盘位NAS家庭个人云网络存储服务器手机平板扩容适用iPhone15 水

ZSpace 极空间 私有云Z2Pro 四核2盘位NAS家庭个人云网络存储服务器手机平板扩容适用iPhone15 水

1299元起
25评论

  • 精彩
  • 最新
  • 安装第4步敲入命令后出现E: Malformed entry 15 in list file /etc/apt/sources.list (Component> E:The list of sources could not be read. 请问如何解决?谢谢

    校验提示文案

    提交
    好像是这个问题,你尝试着解决一下去看看

    校验提示文案

    提交
    看到问题了,前面的依赖没安装好,什么值得买没有显示代码后面的\符号,你给步骤2的代码除了最后一行之外的地方每行都在末尾加上[空格]\后再重复执行一遍

    校验提示文案

    提交
    还有9条回复
    收起所有回复
  • 乌班图的功耗比win 低多少?

    校验提示文案

    提交
    我的装Ubuntu待机情况下cpu占用1%不到,装win10待机cpu占用20-30%

    校验提示文案

    提交
    今天刚好试了下
    ubuntu20LTSC
    全程24.2波动25
    win10专业版
    31.9波动38两次后
    25-28
    长期无操作降低到19
    单位是瓦
    如果用命令行就不一样了,你回复我的话(因为这样我之后找得到这条消息>我大概明天能跟你说win server2019的

    校验提示文案

    提交
    还有3条回复
    收起所有回复
  • 我还以为会有web管理界面的推荐呢

    校验提示文案

    提交
    docker用命令行也很方便的,就那几个命令,之前我也使用过一些带ui的管理工具,但感觉并不好用。

    校验提示文案

    提交
    是啊,感觉群晖的docker 很方便,想找个类似的.目前用unraid docker管理稍微好点,但是还是别扭

    校验提示文案

    提交
    收起所有回复
  • 如何让docker服务开机后5分钟再启动?或者再所有进程启动完毕后再启动docker服务?因为有一台AIO,docker容器通过nfs挂载nas共享目录,但是重启后nfs总会慢一拍,导致docker容器内无内容可以调取

    校验提示文案

    提交
    应该可以通过systemd实现,您可以搜索一下相关内容。

    校验提示文案

    提交
    收起所有回复
  • 有个portainer很好

    校验提示文案

    提交
  • sudo add-apt-repository
    "deb [arch=amd64] 去看看

    $(lsb_release -cs>

    stable"错误: 需要以一个软件仓库作为参数
    请问这个问题怎么解决?

    校验提示文案

    提交
提示信息

取消
确认
评论举报

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

相关文章推荐

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