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数据库的封装.测试应用后,决定花一些时间来总结一下最近的研究心得,把这个数据库的应用单独作为一个系列来介绍,希望从各 ...
随机推荐
- 10-JS的函数学习
<html> <head> <title>js的函数学习</title> <meta charset="UTF-8"/> ...
- SHELL脚本实现分区
写一个脚本(前提:请为虚拟机新增一块硬盘,架设它为/dev/sdb),为指定的硬盘创建分区 1,列出当前系统上所有的磁盘,让用户选择,如果选择quit则退出脚本:如果用户选择错误,就让用户重新选择 2 ...
- lemon oa前端页面——由user-base-list谈项目组织
content user-base-list.jsp中指定<%pageContext.setAttribute("currentHeader", "user&quo ...
- C++:vector中的resize()函数 VS reserve()函数
http://www.cnblogs.com/biyeymyhjob/archive/2013/05/11/3072893.html
- Guice 学习(八)AOP (面向切面的编程)
Guice的AOP还是非常弱的.眼下只支持方法级别上的,另外灵活性也不是非常高. 看例如以下演示样例: Guice支持AOP的条件是: 类必须是public或者package (default) 类不 ...
- 奥斯卡·王尔德十大经典语录
10不够真诚是危急的,太真诚则绝对是致命的.--摘自<身为艺术家的评论者> "A little sincerity is a dangerous thing, and a gre ...
- my-small.cnf my-medium.cnf my-large.cnf my-huge.cnf
my-small.cnf my-medium.cnf my-large.cnf my-huge.cnf 是 MySQL 默认的几个配置文件.针对不同配置的服务器可以使用不同的配置文件,将你需要的那一个 ...
- Oracle imp exp命令具体解释
怎样在oracle中导入dmp数据库文件? oracle数据导入导出imp/exp就相当于oracle数据还原与备份.exp命令能够把数据从远程数据库server导出到本地的dmp文件,imp命令能够 ...
- java 使用xom对象数据序列化为xml、反序列化、Preferences相关操作小案例
package org.rui.io.xml; import java.io.BufferedOutputStream; import java.io.FileOutputStream; import ...
- HR-部门内部调动报表
*&---------------------------------------------------------------------* *& Report ZHRPA038 ...