Docker的基础知识与安装(Ubantu CentOS)
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)的更多相关文章
- 快速掌握Docker必备基础知识
快速掌握Docker必备基础知识 Docker是时下热门的容器技术,相信作为一名开发人员,你一定听说过或者使用过,很多人会把Docker理解为一个轻量级虚拟机,但其实Docker与虚拟机(VM)是两种 ...
- Greenplum入门——基础知识、安装、常用函数
Greenplum入门——基础知识.安装.常用函数 2017年10月08日 22:03:09 在咖啡里溺水的鱼 阅读数:8709 版权声明:本文为博主原创,允许非商业性质转载但请注明原作者和出处 ...
- 预学第二天:计算机的基础知识+python安装+pycharm安装+思维导图
目录 计算机的基础知识 计算机是由什么组成的 什么是操作系统
- [java基础知识]java安装步骤
jre: java运行环境. jre = java虚拟机 + 核心类库(辅助java虚拟机运行的文件).如果只是运行java程序,只需要安装jre. jdk: java开发工具集 jd ...
- Docker容器基础知识学习
Docker作为操作系统层面的轻量级的虚拟化技术,凭借简易的使用.快速的部署以及灵活敏捷的集成等优势,迅速发展目前最为火热的技术. 1.云计算服务是一种资源管理的资源服务,该模式可以实现随时随地.便捷 ...
- hadoop学习笔记——基础知识及安装
1.核心 HDFS 分布式文件系统 主从结构,一个namenoe和多个datanode, 分别对应独立的物理机器 1) NameNode是主服务器,管理文件系统的命名空间和客户端对文件的访问操 ...
- Docker的学习笔记(一)基础知识
概述 本人最近在学习docker相关的知识,既是工作本身的需要也是自己对技术的追求的必要,以后我也会推出容器相关的随笔,既可以增长自己的知识,也可以和读者广泛交流,岂不乐乎?话不多说.第一篇先介绍do ...
- docker学习---docker基础知识
目录 docker的基础 1.安装docker 2.使用镜像 3.镜像迁移|导入和导出 4.docker Hub介绍 5.搭建私有镜像仓库 5.1.docker开源的镜像分发工具--docker Re ...
- 基于C#的MongoDB数据库开发应用(1)--MongoDB数据库的基础知识和使用
在花了不少时间研究学习了MongoDB数据库的相关知识,以及利用C#对MongoDB数据库的封装.测试应用后,决定花一些时间来总结一下最近的研究心得,把这个数据库的应用单独作为一个系列来介绍,希望从各 ...
随机推荐
- Javascript小数取整方法收集
1.丢弃小数部分,保留整数部分 parseInt(7/2) 2.向上取整,有小数就整数部分加1 Math.ceil(7/2) 3.四舍五入 Math.round(7/2) 4.向下取整 Math.fl ...
- Go---设计模式(策略模式)
策略模式定义了算法家族,在调用算法家族的时候不感知算法的变化,客户也不会受到影响. 下面用<大话设计模式>中的一个实例进行改写. 例:超市中经常进行促销活动,促销活动的促销方法就是一个个策 ...
- atomic原子操作
C++中对共享数据的存取在并发条件下可能会引起data race的未定义行为,需要限制并发程序以某种特定的顺序执行,有两种方式:1.使用mutex保护共享数据: 2.原子操作 原子操作:针对原子类型操 ...
- XMLHttpRequest对象解读
<!DOCTYPE html> <html> <body> <script> function reqListener () { console.log ...
- Office EXCEL 的绝对引用和相对引用如何理解
比如C1 = A1+B1,则我把C1的单元格往下拖拉的时候,C2会自动等于A2+B2,C3会自动等于A3+B3,而如果让G1 = $E$1+$F$1,则把G1单元格往下拖拉的时候,G2G3单元格都不会 ...
- 编译iOS使用的.a库文件
首先是须要编译成.a的源文件 hello.h: #ifndef __INCLUDE_HELLO_H__ #define __INCLUDE_HELLO_H__ void hello(const cha ...
- LoadRunner中存储表格参数------关联数组
主要用到 web_reg_save_param_ex函数("Scope=All",), sprintf( CProdNo,"{CProdNo_%d}",i ); ...
- java中 ++前后差别试题及静态变量一旦赋值不可改变
package javaTest; public class Increment { private static int k=0; public static void main(String[] ...
- Linux—read
read:将信息读入一个或多个Shell变量 语法格式:read [-r] 变量名 选项: -r:原始读入,不做任何处理,不将结尾结尾处的反斜杠解释为续行字符 行为模式 ...
- 大话设计模式C++实现-第19章-组合模式
一.UML图 关键词:Leaf是叶子,Composite是非叶子节点,Composite包括Leaf. 二.概念 组合模式(Composite):将对象组合成树形结构以表示"部分-总体&qu ...