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数据库的封装.测试应用后,决定花一些时间来总结一下最近的研究心得,把这个数据库的应用单独作为一个系列来介绍,希望从各 ...
随机推荐
- Java中设置Session过期时间(Spring Boot)
1.Spring Boot: server.session.cookie.comment = #注释会话cookie. server.session.cookie.domain = #会话cookie ...
- html 元素定位position-relative, absolute, fixed, static
看到这个,你有什么想法? Difference between static and relative positioning 如果你能完全看明白,那几本上css 元素定位的东西基本都会了.本文也不用 ...
- Linux 的 Socket IO 模型
前言 之前有看到用很幽默的方式讲解Windows的socket IO模型,借用这个故事,讲解下linux的socket IO模型: 老陈有一个在外地工作的女儿,不能经常回来,老陈和她通过信件联系. 他 ...
- 设计模式 之代理(Proxy)模式
为什么这里要定义代理呢?所谓代理代理,当然就是你不想做的事.找别人去做,这就是代理.所以,当你写代码的时候.你想保持类的简单性.重用性.你就能够把事件尽量都交给其他类去做.自己仅仅管做好自己的事.也就 ...
- HDU 2795 Billboard(宣传栏贴公告,线段树应用)
HDU 2795 Billboard(宣传栏贴公告,线段树应用) ACM 题目地址:HDU 2795 Billboard 题意: 要在h*w宣传栏上贴公告,每条公告的高度都是为1的,并且每条公告都要 ...
- 解决echart在IE中使用时,在div中加入postion后图表不显示问题
<!-- 为ECharts准备一个具备大小(宽高)的Dom --> <div id="main" style="height:400px;width:1 ...
- Struts2框架起源
曾经也用过S2SH框架做过几个项目,都不是工作中的,学习WEB开发的时候接触的第一套框架也是S2SH,可是工作之后一直没实用到S2SH 框架进行开发. 感觉曾经用这个框架的时候根本没有深入去了解这个框 ...
- Visual Studio Code Unit Testing
1.NUnit project.json { "version": "1.0.0-*", "testRunner": "nunit ...
- 局域网内PC通过笔记本共享上网
现实:PC.笔记本都通过网线接在局域网内,局域网无法上网:笔记本有无线网卡,可连WIFI上网. 现在想让PC通过笔记本来共享上网. 步骤: 1.笔记本开启DHCP.方法是开启"服务" ...
- C++不能在栈上申请动态内存,而只能依靠指针
以下三种情况皆错,都编译不过: int main(int argc, char* argv[]) { int a; int b[a]; } int main(int argc, char* argv[ ...