irpas技术客

Docker手把手教程(一)概述 & 安装_深海鱼肝油ya_docker 手把手

未知 2007

目录

一.认识Docker

二.为什么要使用Docker

三.虚拟化与Docker

四.Docker核心概念

五.Docker安装

1.centOS联网的问题

2.安装docker


一.认识Docker

1.什么是Docker

Docker其实就是可以打包程序和运行环境,把环境和程序一起发布的容器。

Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。 注意Docker不是容器,它只是负责管理容器,不是虚拟化技术,只是管理虚拟化技术的技术! Docker的logo解释: 标志是一头鲸鱼携带着一堆容器。它正在向您发送这些信息的途中。Docker直译过来是码头工人,然而Docker给人的第一感觉是容器,容器技术英译为Linux Container, Container的直译有 集装箱,容器两个意思。

2.什么是"集装箱技术"

我们都知道码头里的集装箱是运载货物用的,它是一种按规格标准化的钢制箱子。集装箱的特色,在于其格式划一,并可以层层重叠, 集装箱与集装箱之间互不影响于是乎, IT 领域借鉴了这一理念,大家就 在想,有没有可能大家只需要关注程序本身 ? 我们都知道码头里的集装箱是运载货物用的,它是一种按规格标准化的钢制箱子。集装箱的特色, 「在于其格式划一,并可以层层重叠, 集装箱与集装箱之间互不影响」

概述 Docker 是一个开源的应用容器引擎,开发者可以打包他们的应用及依赖到一个可移植的容器中,发布到流行的 Linux 机器上,也可实现虚拟化。

重心: Docker其实就是可以打包程序和运行环境,把环境和程序一起发布的容器。

二.为什么要使用Docker Docker 容器虚拟化的好处 开发者需要能方便高效构建应用,并且任何时间任何地点都可以获取。

Docker 在开发和运维中的优势 对开发和运维 ( DevOps) 人员来说,可能最梦寐以求的就是一次性地创建或配置,可以在任意环境、任意时间让应用正常地运行。而 Docker 恰恰是可以实现这一终极目标的瑞士军刀。

优势: 更快速的交付和部署 更高效的资源利用 更轻松的迁移和扩展 更简单的更新管理(修改dockerfile) Docker 与虚拟机比较 作为一种轻量级的虚拟化方式, Docker 在运行应用上跟传统的虚拟机方式相比具有显著优势。

三.虚拟化与Docker

Docker容器是在操作系统层面上实现虚拟化,直接复用本地主机的操作系统,因此更加轻量级。

虚拟化技术是一个通用的概念 , 在不同领域有不同的理解。在计算领域,一般指的是计算虚拟化或通常说的服务器虚拟化。 简单的说,「虚拟化」,顾名思义,就是「虚拟」的,是「假」的,是形而上的,是观念上、逻辑上的划分。 举栗说明 假设你现在手头上有一套房子,并且你要把它给租出去,租金的市场价是 2000 元 / 月。那么有没有办法把它租得更贵,获得 6000 元的租金呢?你想到了两个办法: 1. 找一个不差钱的傻 X 租户,让他每月交 6000 元。 2. 把房子租给 4 个单身狗,租金为 1500 元 / 人 / 月。 虚拟化分类: 完全虚拟化 硬件辅助虚拟化 部分虚拟化 超虚拟机化 操作系统虚拟化

什么是物理机

什么是虚拟机 什么是 Docker

四.Docker核心概念

Docker 技术的三大核心概念,分别是: 镜像(Image) 容器 (Container) 仓库 (Repository) 1.Docker 镜像 Docker 镜像 (Image) 类似于虚拟机镜像,可以将它理解为个面向 Docker 引擎的模板,包含了文件系统。 镜像从何而来 从Docker Hub下载(之前学maven的时候依赖都是从中央仓库下载,而Docker镜像可以从Docker Hub下载) 通过Docker file自己创建出来 2.Docker 容器 Docker 容器 (Container) 类似于一个轻量级的沙箱 ,Docker 利用容器来运行和隔离应用。容器是从镜像创建的应用运行实例,可以将其启动、开始、停止、删除,而这些容器都是相互隔离、互不可见的。 注意: 容器和镜像一样,也是若干层的叠加,唯一区别是所有只读层的最上面一层,是一层可读可写层,可以记住这个简单的公式:容器 = 容器镜像 + 可读可写层 3.Docker 仓库 Docker 仓库 (Repository) 类似于代码仓库,是 Docker 集中存放镜像文件的场所。目前,最大的公开仓库是 Docker Hub ,存放了数量庞大的镜像供用户下载。国内的公开仓库包括 Docker Pool 等,可以提供稳 定的国内访问。

注意: Docker利用仓库管理镜像的设计理念与Maven非常相似。 咱们再来理解 docker 的两句口号就更好理解了 「Build, Ship and Run (搭建,发送,运行)」 「Build?once,Run?anywhere (搭建一次,运行到任何地方)」

五.Docker安装 1.centOS联网的问题

感觉已经八百年没用Linux了,打开虚拟机,重新创建了 一个CentOS系统,安装过程比较漫长,吗,慢慢等。

安装之后发现没联网,搞了好一会,现在把解决办法分享一下。我用的是NAT模式。

先切换超级用户,su,然后输入密码,要注意登录系统的密码和切换超级用户的密码可能不一样!要看自己当时是设的啥。

然后输入ls /etc/sysconfig/network-scripts,找到ifcfg-ensXXXX文件(XXXX代表的几位数字,到底是几位这个不确定),此处XXXX的数值在每个机器上不同,记下你自己机器的数值。 接着在终端输入gedit /etc/sysconfig/network-scripts/ifcfg-ensXXXX(XXXX替换为自己的数值)

修改两个属性,BOOTPROTO=dhcp,ONBOOT=yes,

然后要确保下面的这俩服务都已经启用!(分别是VMware DHCP Service和VMware NAT Service),按win+R键,接着在运行栏中输入services.msc即可查看是否正在运行。

service network restart

然后重启网络服务 service network restart 即可。

最后测试一下,ping ·

成功!

如果第一次已经成功联网了,下次启动系统又出现了这个问题,配置应该是没有问题的,那么可能就是你电脑上的VMware DHCP Service和VMware NAT Service服务不是自动开启的,那么再手动开启就好啦!

2.安装docker

yum安装最快最方便。

我配置的系统环境版本: [abc@localhost ~]$ cat /etc/redhat-release CentOS Linux release 7.7.1908 (Core) [abc@localhost ~]$ uname -r 3.10.0-1062.12.1.el7.x86_64

可见我的CentOS版本是7.7,Linux内核版本是3.10

关闭防火墙

systemctl stop firewalld.service 关闭 selinux vim /etc/selinux/config

然后将该文件里的SELINUX属性修改为disabled,按i进入编辑模式

编辑完成之后再输入“:wq”,注意是输入冒号里面的内容,即可将编辑缓冲区的内容写入文件,则新的内容就替代了原始文件,并且退出vim模式。

然后输入下面的指令,如果能输出一些东西的话,就说明yum没有问题。

yum list 安装 docker 引擎 yum install -y docker 启动 docker systemctl start docker 设置 docker 自启动 即在电脑启动的时候就让docker启动起来 systemctl enable docker

测试docker是否安装成功

docker run hello-world

?输出了Hello from Docker!,说明安装成功!

可以看看到上面划红线的那条语句,拉取了hello-world镜像。


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #Docker #手把手