CentOS8安装docker-CE版本之镜像加速

目录

  • 一、CentOS8简介
    • 二、Docker概念
      • 三、docker-CE版本的安装
        • 四、docker配置镜像加速

一、CentOS8简介

1. CentOS8最终于2019年9月24日发布。由于这是一个源自Red Hat Enterprise Linux
(RHEL)的Linux发行版,所以CentOS团队必须构建一个基础设施来支持新引入的RHEL 8。
让我们来看看CentOS8提供的所有新特性和更新。

2. CentOS8新特性—概述
与之前CentOS版本中默认安装不包含GUI不同,CentOS 8的默认桌面环境是GNOME 3.28。而且,GNOME显示管理器现在使用Wayland作为默认的显示服务器(与X.org服务器不同)。

3. CentOS8新特性—Cockpit Web控制台
开放的基于web的控制台界面,Cockpit,现在作为新的CentOS发布的一部分。使用此平台可以通过web控制台界面轻松地管理服务器。通过web浏览器执行系统任务、创建和管理虚拟机、配置网络、启动容器和检查日志。
Cockpit高度集成。它不仅有一个嵌入式终端,可以让你随时从终端切换到浏览器,而且还可以在移动设备上工作。
因此,当你安装CentOS 8时,它会自动设置Cockpit web控制台,并打开所需的防火墙端口。但是,您不必担心它会加重系统的负担。该软件非常有效,因为它只在活动时使用内存和CPU。

4. CentOS8新特性—软件仓库更新
内容分布在两个主要的软件仓库:
BaseOS repository
AppStream Repository
虽然BaseOS包含所有底层OS包,但AppStream包含与应用程序相关的包、开发工具、数据库和其他包。
换句话说,BaseOS存储库拥有组成操作系统核心的传统RPM包。一旦你更新了系统,它会自动下载并安装这些包的任何新版本。
然而,有时您可能不想批量升级软件,因为它可能会在您希望保持稳定的环境中导致兼容性问题(例如,在测试代码时)。这就是为什么新的CentOS 8附带了附加的AppStream存储库,提供了更多的特性、功能和定制。
这个软件仓库有一个不同的管理软件的方法,将它分为几个子类:
Packages:作为常规包处理。
Modules:相关或共享依赖项的包组。
Module streams:软件模块的不同版本。
Module profiles:构建模块的包的不同配置。

5. CentOS8新特性—软件管理更新
CentOS 8附带YUM包管理器v4.0.4版本,该版本现在使用DNF (Dandified YUM)技术作为后端。DNF是新一代的YUM,新的操作系统版本允许您同时使用这两种工具来管理包。
与DNF技术集成,最新版本有一个大大改进的软件管理系统。它提高了性能,具有定义良好的api,并支持模块化内容、云应用程序流、容器工作负载和CI/CD。

6. CentOS8新特性—虚拟化更新
CentOS版本8带有KVM (qemu-kvm 2.12),支持:
5级分页功能,扩展了虚拟地址的大小,增加了可寻址的虚拟内存。
用户模式指令预防(UMIP),一种将对用户空间应用程序的访问限制为系统级设置的安全特性。
Ceph存储,在所有的RHEL CPU架构上提供块存储功能。
所有虚拟机都预先设置的Q35机器类型(机器类型包括本机PCIe热插拔、IOMMU、安全启动和许多其他新集成的功能)。
NVIDIA vGPU和VNC控制台之间的兼容性。
QEMU仿真器引入的沙箱特性,以确保安全的代码测试。

7. CentOS8新特性—安全更新
CentOS团队已经改进了安全特性,以确保数据保护和防止入侵。最本的OpenSSL 1.1.1默认包含TLS 1.3。这将确保您的所有数据以及客户端数据都受到密码保护。
此外,OS附带了一个全系统的加密策略,这意味着您不必修改各个应用程序的安全配置。

8. CentOS8新特性—CentOS Stream
CentOS Stream是一个结合了Fedora项目和RHEL的项目。CentOS团队创建了Stream版本作为滚动发行版,试图消除重大更新后的延迟和兼容性问题。
本项目的基本思路是:
通过一次更改几个包来获得开发更新Stream。
获取用户反馈并解决CentOS社区提出的任何问题。
允许在CentOS Stream上构建分层项目(如Ansible、oVirt和RDO)。
CentOS8新特性之CentOS Stream。

|---------------------------------------------------------摘要百度------------------------------------------------------------------|

二、Docker概念

CentOS8安装docker-CE版本之镜像加速_第1张图片
1、Docker是一个开放源代码软件项目,让应用程序部署在软件货柜下的工作可以自动化进行,借此在Linux操作系统上,提供一个额外的软件抽象层,以及操作系统层虚拟化的自动管理机制。
2、Docker是一个开源的应用容器引擎 ,让 开发者可以打包他们的应用以及依赖包到一个可移植的容器
中 ,然后发布到 任何流行的 Linux 机器上 ,也可以实现虚拟化。容器是完全使用沙 盒 机制,相互之间不会有任何接口(类似 iPhone 的 app )。 几乎没有性能开销 可以很容易地在机器和数据中心中运行。最重要的是 他们 不依赖于任何语言、框架或包装系统。
扩展:沙盒
1)、沙盒也叫沙箱,英文 sandbox 。在计算机领域指一种虚拟技术,且多用于计算机安全技术。安全软件可以先让它在沙盒中运行,如果含有恶意行为,则禁止程序的进一步运行,而这不会对系统造成任何危害。
2)、Docker是 dotCloud 公司开源的一个基于 LXC 的 高级容器引擎 ,源代码托管在 Github 上 , 基于 go语言并遵从 Apache2.0 协议开源。

3、docker特性:
文件系统隔离:每个进程容器运行在一个完全独立的根文件系统里。
资源隔离:系统资源,像CPU和内存等可以分配到不同的容器中,使用cgroup。
网络隔离:每个进程容器运行在自己的网络空间,虚拟接口
日志记彔:Docker将会收集和记录每个进程容器的标准流(将会收集和记彔每个进程容器的标准流(stdout/stderr/stdinstdout/stderr/stdin),用于实时检索),用于实时检索或批量检索。戒批量检索。
变更管理:容器文件系统的变更可以提交到新的镜像镜像中,并可重复使用以创建更多的容器。无需使用中,并可重复使用以创建更多的容器。无需使用模板或手动配置。模板戒手劢配置。
交互式shell:DockerDocker可以分配一个虚拟终端并关联到任何容器的标准输入上,例如运行一个一次性可以分配一个虚拟终端并关联到任何容器的标准输入上,例如运行一个一次性交互交互shell。

4、优点:
1)、一些优势和一些优势和VMVM一样,但不是所有都一样。
比VM小,比VM快, Docker容器的尺寸减小相比整个虚拟机大大简化了分布到云和从云分发容器的尺寸减小相比整个虚拟机大大简化了分布到云和从云分发时间时间和开销和开销。。Dockerr启动一个启劢一个容器容器实例时间很短,一两秒就可以启动一个实例实例时间徆短,一两秒就可以启劢一个实例。。
2)、对于在笔记本电脑,数据中心的虚拟机,以及任何的云上,运行相同的没有对于在笔记本电脑,数据中心的虚拟机,以及任何的云上,运行相同的没有变化的应用程序,变化的应用程序,ITIT的的发布速度更快。发布速度更快。
Docker是一个开放的平台,构建,发布和运行分布式应用程序。是一个开放的平台,构建,发布和运行分布式应用程序。
Docker使应用程序能够快速从组件组装和避免开发和生产环境之间的摩擦。
3)、您可以在部署在公司局域网或云或虚拟机上使用它。您可以在部署在公司局域网戒云戒虚拟机上使用它。
4)、开发人员并不关心具体哪个开发人员并不关心Linux操作系统操作系统
使用DockerDocker,开发人员可以根据所有依赖关系构建相应的软件,针对他们所选择的操作系统。,开发人员可以根据所有依赖关系构建相应的软件,针对他们所选择的操作系统。
然后,在部署时一切是完全一样的,因为一切都在DockerImage的容器在其上运行。的容器在其上运行。开发人员负责并且能够确保所有的相关性得到满足。
5)、Google,微软,亚马逊,,微软,亚马逊,IBMIBM等都支持等都支持DockerDocker。。
6)、Docker支持Unix/LinuxUnix/Linux操作系统,操作系统,也也支持支持WindowsWindows或戒Mac。

5、缺点局限性:
Docker用于应用程序时是最有用的,但并不包含数据。日志,跟踪和数据库等通常应放在用于应用程序时是最有用的,但并不包含数据。日志,跟踪和数据库等通常应放在Docker容器外。一个容器的镜像通常都很小,不适合存大量数据,存储可以通过外部挂载的方式使用。比如使用:一个容器的镜像通常都徆小,不适合存大量数据,存储可以通过外部挂载的方式使用。比如使用:NFS,ipsan,MFS等, 映射磁盘分区映射磁盘分区。

|---------------------------------------------------------摘要百度------------------------------------------------------------------|

三、docker-CE版本的安装

1、安装之前先把防火墙关闭
并且需要修改/etc/selinux/config文件
SELINUX=disabled

[12:14:56 root@wangzhike ~]#systemctl stop firewalld
[12:15:22 root@wangzhike ~]#systemctl disable firewalld
Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

2、安装依赖包

[12:17:39 root@wangzhike ~]#dnf install -y yum-utils device-mapper-persistent-data lvm2

3、添加Docker软件包源

[12:17:42 root@wangzhike ~]#yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo		//这是命令

添加仓库自:https://download.docker.com/linux/centos/docker-ce.repo

4、更新yum包索引

[12:18:31 root@wangzhike ~]#dnf makecache		//这是命令
CentOS-8 - AppStream                                                   28 kB/s | 4.3 kB     00:00    
CentOS-8 - Base                                                        54 kB/s | 3.8 kB     00:00    
CentOS-8 - Extras                                                      23 kB/s | 1.5 kB     00:00    
Docker CE Stable - x86_64                                             1.9 kB/s | 3.5 kB     00:01    
Extra Packages for Enterprise Linux Modular 8 - x86_64                8.8 kB/s | 9.6 kB     00:01    
Extra Packages for Enterprise Linux 8 - x86_64                        2.6 kB/s | 9.9 kB     00:03    
元数据缓存已建立

安装Docker-CE(下载过程有点慢)

命令:

1.dnf install https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.6-3.3.el7.x86_64.rpm
2.yum install docker-ce docker-ce-cli
[12:29:49 root@wangzhike ~]#dnf install https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.6-3.3.el7.x86_64.rpm

若出现[FAILED] containerd.io-1.2.6-3.3.el7.x86_64.rpm: Curl error (28): Timeout was reached for 错误,直接重新重复执行上一步

[12:32:10 root@wangzhike ~]#yum install docker-ce docker-ce-cli

这两步由于我安装过,有些已经安装好了。这里只不过速度会有点慢

5、启动docker(running)

[12:32:31 root@wangzhike ~]#systemctl start docker 
[12:32:40 root@wangzhike ~]#systemctl status docker 
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
   Active: active (running) since Sun 2020-03-22 23:19:15 CST; 2 weeks 0 days ago
     Docs: https://docs.docker.com
 Main PID: 27133 (dockerd)
    Tasks: 10
   Memory: 46.1M
   CGroup: /system.slice/docker.service
           └─27133 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

322 23:19:15 wangzhike dockerd[27133]: time="2020-03-22T23:19:15.013526732+08:00" level=info msg="ClientConn switching balancer to \"pi>
322 23:19:15 wangzhike dockerd[27133]: time="2020-03-22T23:19:15.077552628+08:00" level=warning msg="Your kernel does not support cgrou>
322 23:19:15 wangzhike dockerd[27133]: time="2020-03-22T23:19:15.077571739+08:00" level=warning msg="Your kernel does not support cgrou>
322 23:19:15 wangzhike dockerd[27133]: time="2020-03-22T23:19:15.077687295+08:00" level=info msg="Loading containers: start."
322 23:19:15 wangzhike dockerd[27133]: time="2020-03-22T23:19:15.365095789+08:00" level=info msg="Default bridge (docker0) is assigned >
322 23:19:15 wangzhike dockerd[27133]: time="2020-03-22T23:19:15.572096435+08:00" level=info msg="Loading containers: done."
322 23:19:15 wangzhike dockerd[27133]: time="2020-03-22T23:19:15.594741487+08:00" level=info msg="Docker daemon" commit=afacb8b graphdr>
322 23:19:15 wangzhike dockerd[27133]: time="2020-03-22T23:19:15.594822303+08:00" level=info msg="Daemon has completed initialization"
322 23:19:15 wangzhike dockerd[27133]: time="2020-03-22T23:19:15.616597359+08:00" level=info msg="API listen on /var/run/docker.sock"
322 23:19:15 wangzhike systemd[1]: Started Docker Application Container Engine.
lines 1-20/20 (END)

####出现如此画面则表示安装docker-CE版本成功####

四、docker配置镜像加速

1、步骤

配置镜像加速需要进入阿里云使用镜像加速器:

https://cr.console.aliyun.com --》支付宝登录–》容器镜像服务 --》镜像加速器–》CentOS
https://cr.console.aliyun.com

CentOS8安装docker-CE版本之镜像加速_第2张图片
将一下内容修改到/etc/docker/daemon.json文件里

vi /etc/docker/daemon.json

 
 { 
	"registry-mirrors": ["https://rb3s8jte.mirror.aliyuncs.com"] 
 } 
 

保存退出:wq

并执行一下命令:

sudo systemctl daemon-reload		#测试		
sudo systemctl restart docker		# 启动docker

运行docker run hello-world显示如下图就可以了

[13:53:42 root@wangzhike ~]#docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
1b930d010525: Pull complete 
Digest: sha256:f9dfddf63636d84ef479d645ab5885156ae030f611a56f3a7ac7f2fdd86d7e4e
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

至此在CentOS8中docker-ce版本安装成功,若有问题请直接留言哈!!!

你可能感兴趣的:(linux实战,docker)