Docker是一种允许特殊类型虚拟化的实用程序。Docker允许使用Docker镜像在系统上“虚拟”运行程序。
可以下载或创建可以运行的图像。一旦加载并执行了图像,它现在就是一个容器。
容器已为容器内的程序分配了资源。容器可能几乎是整个操作系统(OS)或单个应用程序。可以在Docker容器中进行更改并保存到Docker镜像。容器外的程序不能轻易地与容器中的程序交互。容器可以与其他容器交互。

注意:在主机操作系统上,Docker信息存储在'/ var / lib / docker /'中。

当容器运行时,没有真正的开销,因为主机Linux内核正在管理正在运行的进程。它与运行虚拟机(VM)时的CPU,RAM和驱动器空间开销不同。
让我们安装Docker,我可以向您展示容器的已用资源。

Ubuntu安装

要在Ubuntu上安装Docker,您需要运行Ubuntu 14.04,16.04或18.04。
如果您之前安装了“docker”或“docker-engine”,则需要将其卸载。要卸载旧版本的Docker,请执行以下操作:

Code:
docker run -it ubuntu

  如果已安装程序并删除它们,则保留存储在“/ var / lib / docker”中的文件。
在安装新的“docker-ce”之前,您需要验证您的内核版本是4.x而不是3.x. Linux内核版本3可以使用,但只支持Docker使用的两个存储驱动程序之一。

注意:在终端运行'uname -r'以查找当前运行的内核版本。

要设置先决条件并安装Docker,请执行以下操作:

sudo apt update
sudo apt install apt-transport-https ca-certificates curl software-properties-common
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository “deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable”

  将条目添加到存储库后,较新的系统将自动执行更新。如果您的系统没有自动执行更新,那么您需要执行命令'sudo apt update'。

sudo apt install docker-ce

  CentOS / Fedora安装

要在CentOS上安装Docker,您需要一个64位版本的CentOS 7,并启用centos-extras存储库。
要在Fedora上安装Docker,你需要一个64位版本的Fedora 26,27或28.

注意:在Fedora 29上有安装Docker的说明,但它不是官方安装方法。

如果任一操作系统安装了Docker,则需要使用以下命令删除安装:

sudo dnf remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine

  如果已安装程序并删除它们,则保留存储在“/ var / lib / docker”中的文件。
下一步是设置存储库以安装Docker。
在CentOS中,您需要执行以下命令来添加Docker存储库并安装Docker:

sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install docker-ce

  对于Fedora 26,27和28,您需要添加存储库并通过执行以下命令安装Docker:

sudo dnf -y install dnf-plugins-core
sudo dnf config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo
sudo dnf install docker-ce

  对于Fedora 29,您需要通过创建'/etc/yum.repos.d/docker-ce.repo'来添加Fedora 28的存储库。创建后,您需要添加以下行:

[docker-ce-stable]
name=Docker CE Stable
baseurl=https://download.docker.com/linux/fedora/28/x86_64/stable
gpgkey=https://download.docker.com/linux/fedora/gpg
enabled=1

gpgcheck=1
保存后,您可以使用以下命令更新存储库列表并安装Docker:
sudo dnf update
sudo dnf install docker-ce

  对于CentOS和Fedora,Docker守护程序可能不会像在Ubuntu中那样自动启动。要启动Docker守护程序,请执行以下命令:

sudo systemctl start docker

  要在引导操作系统时启动Docker守护程序,您需要运行以下命令:

sudo systemctl enable docker

  完成安装

此时只有Root可以执行Docker。要允许其他用户运行Docker,您需要将用户添加到Docker组。要创建Docker组并将用户添加到Docker组,您可以执行以下操作:

sudo groupadd docker
sudo usermod -aG docker <username>

  注意:在某些安装中,Docker Group可能会自动创建。

将'<username>替换为您要添加的用户的登录名。对于Ubuntu,您还可以使用“用户和组”图形用户界面(GUI)来执行任务。如果当前登录的用户已添加到组中,则用户需要注销并重新登录才能使更改生效。

测试Docker

此时应安装Docker,我们可以通过运行命令轻松测试:

docker run hello-world

  注意:如果您未将用户帐户添加到Docker组,则必须使用“sudo”执行Docker命令。

输出应类似于图1.

图01

现在Docker应该在您的系统上运行。如果输出没有显示'来自Docker的Hello!' 在输出中,您需要返回并检查每一步。

检查资源

无论您的操作系统如何,您都可以将Ubuntu作为Container运行。命令如下:

docker run -it ubuntu

  

注意: ' - it'参数允许您运行Container并允许您与它进行交互。

终端窗口应该打开到Ubuntu Root提示符。执行以下命令:

apt update
apt install htop
htop

  窗口应该与图2类似。

图02

您可以看到Container只运行Bash shell和'htop'程序。
在常规操作系统中,您可以根据需要安装“htop”然后执行它。您应该看到如图3所示的内容。

图03

要退出Docker窗口,您需要退出'htop'程序,然后键入'exit'以退出Container并将其放回正常的Terminal窗口。
Container没有像在虚拟机或Virtualbox中那样运行Ubuntu的“完整”版本。我希望您能看到在完整的虚拟操作系统上使用Container的好处。
您可以在Windows和Mac OSX上运行Docker。在这些操作系统上,Docker系统是模拟Linux。从Container到硬件的所有调用都必须通过Linux内核。与其他操作系统相比,Docker在Linux系统上运行得更好。
在以后的文章中,我们可以介绍Docker可以加载甚至自己创建的其他系统。


Docker的基础知识与安装(Ubantu CentOS)的更多相关文章

  1. 快速掌握Docker必备基础知识

    快速掌握Docker必备基础知识 Docker是时下热门的容器技术,相信作为一名开发人员,你一定听说过或者使用过,很多人会把Docker理解为一个轻量级虚拟机,但其实Docker与虚拟机(VM)是两种 ...

  2. Greenplum入门——基础知识、安装、常用函数

    Greenplum入门——基础知识.安装.常用函数 2017年10月08日 22:03:09 在咖啡里溺水的鱼 阅读数:8709    版权声明:本文为博主原创,允许非商业性质转载但请注明原作者和出处 ...

  3. 预学第二天:计算机的基础知识+python安装+pycharm安装+思维导图

    目录 计算机的基础知识 计算机是由什么组成的 什么是操作系统

  4. [java基础知识]java安装步骤

    jre:  java运行环境.  jre =  java虚拟机 + 核心类库(辅助java虚拟机运行的文件).如果只是运行java程序,只需要安装jre.    jdk: java开发工具集   jd ...

  5. Docker容器基础知识学习

    Docker作为操作系统层面的轻量级的虚拟化技术,凭借简易的使用.快速的部署以及灵活敏捷的集成等优势,迅速发展目前最为火热的技术. 1.云计算服务是一种资源管理的资源服务,该模式可以实现随时随地.便捷 ...

  6. hadoop学习笔记——基础知识及安装

    1.核心 HDFS  分布式文件系统    主从结构,一个namenoe和多个datanode, 分别对应独立的物理机器 1) NameNode是主服务器,管理文件系统的命名空间和客户端对文件的访问操 ...

  7. Docker的学习笔记(一)基础知识

    概述 本人最近在学习docker相关的知识,既是工作本身的需要也是自己对技术的追求的必要,以后我也会推出容器相关的随笔,既可以增长自己的知识,也可以和读者广泛交流,岂不乐乎?话不多说.第一篇先介绍do ...

  8. docker学习---docker基础知识

    目录 docker的基础 1.安装docker 2.使用镜像 3.镜像迁移|导入和导出 4.docker Hub介绍 5.搭建私有镜像仓库 5.1.docker开源的镜像分发工具--docker Re ...

  9. 基于C#的MongoDB数据库开发应用(1)--MongoDB数据库的基础知识和使用

    在花了不少时间研究学习了MongoDB数据库的相关知识,以及利用C#对MongoDB数据库的封装.测试应用后,决定花一些时间来总结一下最近的研究心得,把这个数据库的应用单独作为一个系列来介绍,希望从各 ...

随机推荐

  1. web应用启动的时候SpringMVC容器加载过程

    <!-- 配置DispatcherServlet --> <servlet> <servlet-name>springmvc</servlet-name> ...

  2. 用WCF服务来动态的获取本地XML省市区文档

    建立一个WCF服务. using ClassLibrary; using System; using System.Collections.Generic; using System.Linq; us ...

  3. Spring Boot使用Spring Data Redis操作Redis(单机/集群)

    说明:Spring Boot简化了Spring Data Redis的引入,只要引入spring-boot-starter-data-redis之后会自动下载相应的Spring Data Redis和 ...

  4. Ulua_toLua_基本案例(一)

    Ulua_toLua_基本案例 在Untiy中用Lua.必需要LuaInterface.LuaInterface的介绍请看:点击打开链接 能够先光写Lua,生成.lua的纯文件.再Unity中通过,l ...

  5. Linux下获取线程TID的方法

    如何获取进程的PID(process ID)? 可以使用: #include <unistd.h> pid_t getpid(void); 通过查看头文件说明,可以得到更详细的信息: fi ...

  6. Ubuntu使用adb连接android手机失败unknown的解决的方法

    Ubuntu使用adb连接android手机失败unknown的解决的方法   Ubuntu下通过USB数据线连接G11手机后,adb可能无法识别到设备.依照一下步骤能够解决此问题. 1.在termi ...

  7. PHPCMS中GET标签概述、 get 标签语法、get 标签创建工具、get 调用本系统演示样例、get 调用其它系统演示样例

    一.get 标签概述 通俗来讲,get 标签是Phpcms定义的能直接调用数据库里面内容的简单化.友好化代码,她可调用本系统和外部数据,仅仅有你对SQL有一定的了解,她就是你的绝世好剑!也就是适合熟悉 ...

  8. Python中暂未解决的问题

    编写一个复杂的计算器,可以在通过GUI输出出来.参考代码http://www.cnblogs.com/BeginMan/p/3216093.html shelve模块中open()函数调用文件文件的路 ...

  9. Thinking in Java -- 类型信息RTTI

    Thinking in Java – 类型信息 个人感觉 java 中的比較难的部分了,在看了些netty源代码发现事实上这块很实用. 这章重点是RTTI和反射.先说下自己的理解 RTTI是执行时识别 ...

  10. 2015/12/25 ① 图灵测试 ② 安装jdk出现的问题 ③ 配置环境变量

    ①图灵测试 1,解释 图灵测试一词来源于计算机科学和密码学的先驱阿兰·麦席森·图灵写于1950年的一篇论文<计算机器与智能>.阿兰·麦席森·图灵1950年设计出这个测试,其内容是,如果电脑 ...