本文介绍: :镜像(Image)和容器(Container)的关系,就像是面向对象程序设计 中的类和实例一样,镜像静态定义容器镜像运行时的实体。也可以这样做类比,镜像理解静态程序,而容器理解运行起来后的进程。这时 Docker出现解决了这一难题,Docker出现使我们开发软件可以“带环境安装”,即安装时候可以把原始环境一模一样的的复制过来,不用在担心环境不一致导致“开发可以正常运行生成环境就会出问题”,“在我的机器可以正常运行,在别人的机器上就不能运行”的问题了。

一丶先了解下,什么是 Docker为什么会有 Docker?Docker 的优势?docker的组成?

 1.为什么会有 Docker? 

    我们知道一款产品从开发到上线,从开发环境到生成环境。作为开发和运维人员之间协作需要考虑很多问题,尤其是当我们产品版本迭代之后,不同环境之间的兼容就会成为一个问题;
     这时 Docker 的出现就解决了这一难题,Docker 的出现使我们开发的软件可以“带环境安装”,即安装时候可以把原始环境一模一样的的复制过来,不用在担心环境不一致导致“开发时可以正常运行,生成环境就会出问题”,“在我的机器上可以正常运行,在别人的机器上就不能运行”的问题了。

2.什么docker?

  (1)Docker 就像是一个轻量级虚拟机,Docker是一个轻量级容器,我们可以将环境交给 Docker 来管理,当我们需要移植我们的产品时候,就可以将环境整个的迁移到一台主机上,而不向虚拟机一样,迁移一台虚拟机极其资源

  (2)Docker 是一个开源应用容器引擎基于 Go 语言开发。

  (3)Docker 可以让开发者打包他们应用以及依赖包到一个轻量级可移植的容器中然后发布到任何流行的 Linux 机器上,也可以实现虚拟化容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

总之:Docker相较于虚拟机来说具有更加轻量启动更快,效率更高,可移植性更强等优势,实现了“一次封装,到处运行”,不用在关心环境的不一致问题

3.docker的优势

(1)运行环境的一致性:Docker 的镜像提供了除了内核之外完整的运行环境,确保了应用运行的一致性
(2)更快速启动部署:可以做到秒级,甚至毫秒级的的启动时间。大大节约了开发、测试、部署的时间
(3)更好隔离性:每个服务器都是独立运行的、完全隔离的。避免公用的服务器,资源会容易受到其他用户影响
(4)弹性伸缩快速扩展能够更好处理集中爆发式的服务使用压力;
(5)迁移更加方便:“带环境安装”;
(6)持续交付和部署:使用 Docker 可以通过定制镜像实现持续集成交付,部署;

4.docker的组成

   ​Docker 是一个 C/S 架构程序。Docker 客户端需要向 Docker 服务或者守护进程发出请求服务或者守护进程完成所有工作返回结果。Docker 提供了一个命令行工具 Docker 以及一整套 RESTful API。你可以在同一台宿主机上运行 Docker 守护进程客户端,也可以从本地的 Docker 客户连接到运行在另一台宿主机上的远程 Docker 守护进程

名称 说明
Docker镜像images 用于容器创建模板基于联合文件系统的一种层式结构,由一系列指令一步一步构建出来。
Docker容器(Container) 容器是独立运行的一个或一组应用镜像相当于类,容器相当于类的实例
Docker客户端(Client 通过命令行或其他工具使用Docker API 与Docker的守护进程通信
Docker主机(Host 一个物理虚拟机用于执行Docker守护进程和容器
Docker守护进程 是Docker服务器端进程。负责支撑Docker容器的运行和镜像的管理
Docker仓库 DockerHub(Registry)  用来保存镜像,可以理解代码控制中心代码仓库,可以将自己的镜像推送仓库上供他人下载

5. 基本概念
Docker 包括三个基本概念

(1)镜像(Image):Docker 镜像(Image),就相当于是一个 root 文件系统
(2)容器(Container):镜像(Image)和容器(Container)的关系,就像是面向对象程序设计  中的类和实例一样,镜像是静态定义,容器是镜像运行时的实体。容器可以被创建启动停止删除、暂停等。容器与镜像的关系类似于面向对象编程中的对象与类。Docker 使用客户端-服务器 (C/S) 架构模式使用远程API来管理和创建Docker容器。Docker 容器通过 Docker 镜像来创建。也可以这样做类比,镜像理解为静态程序,而容器理解为运行起来后的进程。容器使用写时复制技术修改后容器的文件独立的。
(3)仓库(Repository):仓库可看成一个代码控制中心用来保存镜像。

二、安装前必读

在安装 Docker 之前,先说一下配置,我这里是Centos7
Linux 内核官方建议 3.10 以上,3.8以上貌似也可。

1.请用root用户登录虚拟机,以保证有足够的权限进行操作

2.可以使用第三方终端连接虚拟机,这样会让我们配置效率更高。(推荐CRT)

3.了解: Docker 分为docker SE(社区版,免费)以及docker EE(企业版,收费),因此我们这里安装的是docker SE。

1.查看当前的内核版本

uname -r

 

我这里是3.10 ,满足条件

2.使用 root 权限更新 yum 包(生产环境中此步操作需慎重,看自己情况,学习的话随便搞)

yumy update

这个命令不是必须执行的,看个人情况,后面出现不兼容的情况的话就必须update了 

  1. 注意

  2. yum -y update升级所有包同时也升级软件系统内核;​

  3. yum -y upgrade:只升级所有包,不升级软件系统内核

  4. 也可以其他的命令更新yum软件包索引yum maakecache fast

 3.卸载旧版本(如果之前安装过的话)

yum remove docker  docker-common docker-selinux docker-engine

 

三、安装Docker的详细步骤

1.安装需要软件包, yum-util 提供yum-configmanager功能,另两个devicemapper驱动依赖

yum install -y yum-utils devicemapperpersistentdata lvm2

2.设置 yum 源

设置一个yum源,也就是docker ce软件源(看个人习惯,我喜欢用阿里云的)

  1. yum-configmanageraddrepo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo  (阿里仓库)

 3.选择docker版本并安装(安装 docker-ce社区版))
(1)查看可用版本哪些

yum list docker-ceshowduplicates | sort -r

(2)选择一个版本并安装:yum install docker-ce-版本号 

yum -y install docker-ce-18.03.1.ce                    —我是下载这个版本好根据自己喜欢。

提醒:如果没有指定版本号的话,系统默认下载最新版本号

命令:yum -y  install docker-ce

  (3)查看是否安装成功

查看镜像:docker images

查看版本docker version

 (4)查看Docker的运行状态(一般刚安装好的话都是running状态的)

systemctl status docker

启动命令systemctl start docker

停止命令systemctl stop docker

设置开机启动systemctl enable docker

4.配置Docker镜像加速器(阿里云)

 !!因为docker下载镜像是从docker hub下载,是国外的,所以下载比较慢,可以看作maven

(1)去到阿里云官方网址找到容器镜像服务https://www.aliyun.com
(2)进入管理控制台(这里没有开通服务需要开通一下容器服务

(3)点击镜像加速器选择CentOS

(4)(注意每个人配置加速器的都会随机生成的,所以根据你打开后阿里云镜像加速器提供的代码进行配置执行文件后会自动生成daemon.json文件

mkdir -p /etc/docker

tee /etc/docker/daemon.json &lt;<-‘EOF’

{

registrymirrors“: [“https://kskdqwg1.mirror.aliyuncs.com“]

}

EOF

启动docker后台线程sudo systemctl daemonreload

重启docker服务 :sudo systemctl daemonreload

5.使用helloworld镜像测试docker  

运行命令:docker run helloworld

(1)docker run运行思维导图 

(2)查看镜像

      docker images

 

 可以看到刚才在执行docker run helloworld的时候,已经将helloworld镜像拉去到本地镜像中了。

四丶常用操作命令

1.启动停止命令

命令     解释
systemctl start docker  启动 Docker
systemctl stop docker 停止docker
systemctl status docker 查看docker状态
systemctl restart docker 重启docker
systemctl enable docker     开机启动
docker info    查看docker概要信息
docker —help     查看docker帮助文档

 2.镜像相关命令

命令     解释
docker images 查看本地存在的镜像
docker search 镜像名称 网络查找需要的镜像
docker pull 镜像名称 远程镜像拉取到本地
docker rmi [-f] 镜像ID  强制删除本地镜像
docker rmif 镜像名1:TAG 镜像名2:TAG  删除多个镜像
docker rmif $(docker images -qa)  删除所有镜像

至此centos7安装Docker就完成了。后面将会讲讲如何配置私人仓库,Docker 的应用容器部署,如何构建镜像,部署hadoop集群

原文地址:https://blog.csdn.net/weixin_54509457/article/details/129526510

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_47060.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注