了解Docker技术并安装Docker

1.1.在传统的开发流程中:开发人员,测试人员,运维人员都是独立工作的,沟通不畅不能很好的协作.
在这里插入图片描述
为了解决开发人员和运维人员之间的协作关系,加快应用交付速度,越来越多的企业引入了DevOps这一概念。但是,传统的开发过程中,开发、测试、运维是三个独立运作的团队,团队之间沟通不畅,开发运维之间冲突时有发生,导致协作效率低下,产品交付延迟, 影响了企业的业务运行。

DevOps(英文Development和Operations的组合)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。

为了解决这个问题采用Docker技术!

1.2.什么是Docker技术?

  • Docker是一个构建在LXC(Linux Container容器)之上,
    基于进程容器的轻量级VM(虚拟机)解决方案,实现了一种应用程序级别的资源隔离及配额.
  • Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows 机器上(但是Docker可以直接在Linux上安装,在Windows上使用需要额外安装虚拟机),也可以实现虚拟化。 容器是完全使用沙箱机制,相互之间不会有任何接口。
  • Docker技术将应用以集装箱的方式打包交付,使应用在不同团队中共享,通过镜像的方式,应用可以部署在任何环境中.
  • Docker是基于容器技术的轻量级虚拟化解决方案,以容器方式交付的Docker技术支持不断的开发迭代,大大提升了产品开发和交付的速度.

1.3.Docker VS 虚拟机
在这里插入图片描述
在这里插入图片描述
Hypervisor (虚拟化层)
Docker Engine 直接移植在Linux内核上,共享内核,系统内核损耗低,减少开销

1.4.Docker给我们带来的好处

  1. 快速交付和部署
  2. 保证环境一致
  3. 高效的资源利用
  4. 弹性的伸缩
  5. 动态调度迁移成本

但安全性比虚拟机弱

使用Docker可以帮助企业解决服务器资源利用率不充分,部署难的问题.

Docker可以控制很多资源(比如硬盘和内存大小,CPU和网卡,CPU个数),目前还不能对硬盘I/O读写资源进行隔离.

1.5.Docker的三个组件:镜像、容器、仓库

  • 镜像是用来创建容器的模板。 是一个打包好的开发环境.

  • 容器是镜像运行时的实体。 一个容器运行一种服务,当我们需要的时候,就可以通过docker客户端创建一个对应的运行实例,也就是我们的容器.
    (镜像和容器的关系可以类比面向对象的类和对象的关系)

  • 仓库用来保存镜像,就是放了一堆镜像的地方,我们可以把镜像发布到仓库中,需要的时候从仓库中拉下来就可以了.

1.6.Docker架构

一个完整的Docker有以下四个部分组成:

  1. DockerClient 客户机
  2. Docker Daemon 守护进程
  3. Docker Image 镜像
  4. DockerContainer 容器

在这里插入图片描述
1.7.Docker run 运行(新建一个Docker)的流程
在这里插入图片描述

2.1 下载Docker

网站:https://www.docker.com/
资源:http://www.runoob.com/docker/docker- tutorial.html

2.2Docker的安装和使用

Docker 分为 CE 和 EE 两大版本。 CE 即社区版(免费,支持周期 7 个月), EE 即企业版,强调安全,付费使用,支持周期 24 个月。
我们在安装前可以参看官方文档获取最新的 Docker 支持情况:
官方文档:https://docs.docker.com/install/
Docker 对于内核支持的功能,即内核的配置选项也有一定的要求(比如必须开启 Cgroup 和 Namespace 相关选项,以及其他的网络和存储驱动等), Docker 源码中提供了一个检测脚本来检测和指导内核的配置
脚本链接:https://raw.githubusercontent.com/docker/docker/master/contrib/check-config.sh

环境准备:

  • 阿里云服务器(1核2G,1M带宽)
  • CentOS 7.4 64位

安装步骤:

  • 由于 Docker-CE 支持 64 位版本的 CentOS7 ,并且要求内核版本不低于 3.10 首先我们需要卸载掉旧版本的Docker.
    sudo yum remove docker \

               docker-client \
    
               docker-client-latest \
    
               docker-common \
    
               docker-latest \
    
               docker-latest-logrotate \
    
               docker-logrotate \
    
               docker-selinux \
    
               docker-engine-selinux \
    
               docker-engine
    
  • 执行以下命令安装依赖包
    sudo yum install -y yum-utils \

        device-mapper-persistent-data \
    
        lvm2
    
  • 安装Docker.Docker 软件包已经包括在默认的 CentOS-Extras 软件源里。
    因此想要安装 docker,只需要运行下面的 yum 命令。
    sudo yum install docker

当然在测试或开发环境中 Docker 官方为了简化安装流程,提供了一套便捷的安装脚本,CentOS 系统上可以使用这套脚本安装:
curl -fsSL get.docker.com -o get-docker.sh
sh get-docker.sh
执行这个命令后,脚本就会自动的将一切准备工作做好,并且把 Docker CE 的 Edge 版本安装在系统中。

执行docker version
or
docker info
返回docker的版本相关信息,证明 docker 安装成功
在这里插入图片描述

  • 启动Docker-CE
    sudo systemctl enable docker(开机启动)
    sudo systemctl start docker

2.2.Docker常用命令
https://www.runoob.com/docker/docker-command-manual.html
http://www.cnblogs.com/DeepInThought/p/10896790.html

2.2.1.docker操作

  • docker version 查看docker容器版本
  • docker info 查看docker容器信息
  • docker --help 查看docker容器帮助

2.2.2镜像操作

  • docker images 列出本地images
  • docker images -a 含中间映像层
  • docker images -q 只显示镜像ID
  • docker images -qa 含中间映像层
  • docker images --digests 显示镜像摘要信息
  • docker images --no-trunc 显示镜像完整信息
  • docker history -H redis 显示指定镜像的历史创建;参数 H 镜像大小和日期,默认为true;–no-trunc 显示完整的提交记录;-q 仅列出提交记录ID
  • docker search mysql 搜索仓库MySQL镜像
  • docker search --filter=starts=600 mysql --filter=stars=600 只显示starts>600的镜像
  • docker search --no-trunc mysql --no-trunc 显示镜像完整DESCRIPTION描述
  • docker search --automated mysql --automated只列出AUTOMATED=OK的镜像
  • docker pull redis 下载Redis官方最新镜像 相当于docker pull redis:latest
  • docker pull -a redis 下载仓库所有Redis镜像
  • docker pull bitnami/redis 下载私人仓库镜像
  • docker rmi redis 单个镜像删除
  • docker rmi -f redis强制删除(针对基于镜像有运行的容器进程)
  • docker rmi -f redis tomcat nginx 多个镜像删除,不同镜像间以空格间隔
  • docker rmi -f $ (docker images -q) 删除本地全部镜像

镜像构建:
1.编写dockerfile cd /docker/dockerfile vim mycentos
2.构建docker镜像 docker build -f /docker/dockerfiel/myscentos -t mycentos:1.1

2.2.3容器操作

容器启动

  1. 新建并启动
    docker run -i -t --name mycentos
  2. 后台启动容器
    docker run -d mycentos
  3. 启动一个或多个已经被停止的容器
    docker start redis
  4. 重启容器
    docker restart redis

容器进入与退出

  1. 使用run方式在创建时进入
    docker run -it centos /bin/bash
  2. 关闭容器并退出
    exit
  3. 仅退出容器,不关闭
    快捷键:Ctrl+P+Q

查看容器

  1. 查看正在运行的容器
    docker ps
  2. 查看正在运行的容器的ID
    docker ps -q
  3. 查看正在运行+历史运行过的容器
    docker ps -a
  4. 显示运行容器总文件大小
    docker ps -s
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值