什么是虚拟化

     虚拟化是一种资源管理技术,将计算机中的各种实体资源如服务器,网络,内存及存储等予以抽象转换后呈现出来。打破实体结构间不可切割的障碍使用户可以比原本的组态更好的方式来应用这些资源。

虚拟化的技术种类很多,如:软件虚拟化,硬件虚拟化,内存虚拟化,网络虚拟化,桌面虚拟化,服务虚拟化,虚拟机等。最常见的是用VMware虚拟化一个操作系统,在上面安装一些其他的软件。

什么是docker

    docker是一个开源项目,其目标是实现轻量级的操作系统虚拟化解决方案。docker的基础是linux容器等技术。

开发,测试,运维三方面环境差异会导致结果不一致,因此开发者使用docker把开发环境搭入,测试人员,运维人员可以直接通过命令从docker上下载环境。目的是使开发环境,和应用程序部署的生产环境一致性。

Docker和传统虚拟化方式不同之处在于,容器是在操作系统层面上实现虚拟化,直接复用本地主机的操作系统。而传统方式则是在硬件层面实现,直接虚拟化出操作系统。

(Docker不是构建新的操作系统所以占用内存小,启动速度快)

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

docker镜像与容器

    镜像是构建docker的基石,用户基于镜像来构建自己的容器,一个镜像可以构建多个容器这多个容器有相同的特征,安装了相同的软件,操作者可以操作容器。镜像之于容器相当于,类和对象的关系,通过类创建对象,然后操作对象。

docker的注册中心(registry),docker用注册中心来保存用户构建的镜像。registry 分为公共和私有两种,公共的是docker hub 是docker公司运营的,用户可以在docker hub上注册账号,上传分享保存自己的镜像,或者下载别人的镜像。但是下载镜像特别慢。

网址:https://hub.docker.com/

docker的安装

docker官方建议在Ubuntu中安装,是基于Ubuntu发布的,所以docker出现的问题,Ubuntu是最新更新和打补丁的。

小tip:(

centOS7.x以上

用户名密码登录

命令解释

ip addr     查看当前系统ip

使用Secure CRT进行连接

主机名:ip

端口:22

)

安装

1.yum包更新到最新:sudo yum update

2.安装需要的软件包,yum-util提供yum-config-manager功能,另外两个是devicemapper驱动依赖的:sudo yum install -y yum-util device-mapper-persistent-data lvm2

3.设置yum源为阿里云:sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

4.安装docker:sudo yum install docker-ce

(ce版是社区版,免费,ee版是企业版,收费)

5.安装后查看版本:docker -v

安装后,需要设置ustc镜像

ustc是老牌linux镜像服务提供者,ustc的镜像加速器速度很快,而且ustc docker mirror不需要注册,是真正的公共服务。网址:https://lug.ustc.edu.cn/wiki/mirrors/help/docker

编辑该文件:vi /etc/docker/daemon.json

在文件中输入如下内容:{"registry-mirrors":["https://docker.mirrors.ustc.edu.cn"]}

 

Docker的启动和停止

启动:systemct1 start docker

docker状态:systemct1 status docker

停止:systemct1 stop docker

重启:systemct1 restart docker

开机自动启动:systemct1 enable docker

查看docker概要信息:docker info

查看docker文档帮助:docker --help

 

Docker常用命令

镜像相关的命令

查看镜像:docker images

搜索镜像:docker search 镜像名称

拉取镜像:docker pull 镜像名称

删除镜像:docker rmi 镜像ID

删除所有镜像:docker rmi `docker images -q`

`该符号不是单引号,是键盘上波浪线一起那个符号

容器相关的命令

查看当前正在运行中的容器:docker ps

查看所有容器:docker ps -a

差看最后一次运行的容器:docker ps -l

查看停止的容器:docker ps -f status=exited

创建容器:docker run

应用打包成docker docker容器打包成tar_应用打包成docker

 守护方式创建的容器执行exit命令后,不会退出,二交互式创建的则会退出。

停止与启动容器

启动容器:docker start 容器名称

停止容器:docker stop 容器名称

拷贝文件:需要把文件上传到宿主机然后再拷贝命令:docker cp 拷贝的文件名 容器名:拷贝路径

打开文件夹:dir 文件夹的路径

容器里面的文件拷贝到宿主机:docker cp 容器名:目录/拷贝的文件名  文件名(这个文件名是指放在宿主机里面的名字,文件名前面也可以指定目录)