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. Linux内存管理-内核的shmall和shmmax参数(性能调优)(转)

    内核的shmall和shmmax参数 SHMMAX=配置了最大的内存segment的大小:这个设置的比SGA_MAX_SIZE大比较好. SHMMIN=最小的内存segment的大小 SHMMNI=整 ...

  2. Nexus搭建Maven私有仓库

    原文:http://blog.csdn.net/rickyit/article/details/54927101 前言 Nexus Repository Manager is a Javaapplic ...

  3. Apache 处理svg工具包Apache(tm) Batik SVG Toolkit

    Apache™ Batik SVG Toolkit¶ Overview¶ Batik is a Java-based toolkit for applications or applets that ...

  4. 我的Android Studio 优化之路

    改动keymap 改动经常使用的快捷键 代码补全(Eclipse: ALT+/) Android Studio中默认用的是Ctrl+Space, 这跟输入法切换冲突.找到Keymap->Main ...

  5. Atomic Builtins - Using the GNU Compiler Collection (GCC) GCC 提供的原子操作

    http://gcc.gnu.org/onlinedocs/gcc-4.4.3/gcc/Atomic-Builtins.html gcc从4.1.2提供了__sync_*系列的built-in函数,用 ...

  6. oracle 重要函数

    1)instr()函数的格式 (俗称:字符查找函数) 格式一:instr( string1, string2 ) / instr(源字符串, 目标字符串) 格式二:instr( string1, st ...

  7. string 是值类型,还是引用类型(.net)[转]

    转自http://hi.baidu.com/newfzks/item/b805f0f4edb0810dd89e7290 string 是值类型,还是引用类型(.net) 一. string 类型的用法 ...

  8. Ubuntu14.04 64bit下Caffe + CUDA 6.5安装详细步骤

    不多说,直接上干货! 笔者花了很长时间才装完,主要是cuda安装和opencv安装比较费劲,cuda找不到32位的安装包只好重装64位的ubuntu系统,opencv 也是尝试了很久才解决,这里建议用 ...

  9. Xcode升级插件失效解决办法-升级版

    Xcode升级插件失效解决办法 每每升级Xcode,第三方插件总是中枪.解决办法也基本是依据http://joeshang.github.io/2015/04/10/fix-xcode-upgrade ...

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

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