目录
容器数据卷
Docker 简介
传统发布一个项目(jar+(redis、mysql、jdk...依赖包)),环境配置十分的麻烦,每一个机器都要部署环境,而docker可以将应用程序和依赖包一起打包成镜像部署上线。
传统:开发编辑jar包,运维去部署
现在:开发打包部署上线,一整套流程做完
Docker的思想来自于集装箱
容器技术的重点是隔离,Docker核心思想打包装箱,每个箱子是相互隔离的,通过隔离机制,可以将服务器利用到极致。
Docker没有出来之前,我们都是用虚拟机,而虚拟机很笨重,隔离需要开启多个虚拟机,docjer就是为了解决这个问题,所以它是秒级启动,更加轻巧。
Docker是基于GO语言开发的
总结:什么是Docker容器?docker是一个开源的,可以让开发者将应用和依赖一起打包的容器技术,容器完全使用隔离机制,容器之前没有任何接口。
虚拟化技术
1.虚拟机技术,优点:安全性最高,缺点是资源占用很多(需要模拟完整的操作系统),冗余步骤多,启动很慢,
2.容器化技术,不是模拟完整的操作系统
不同点
1、传统的虚拟机虚拟一个硬件,运行在一个完整的操作系统上安装和运行软件
2、容器内的应用都是直接运行在宿主机的内核,容器是没有自己的内核,也没有虚拟我们的硬件,所以更轻便,每个容器间相互隔离,每个容器内都有一个属于自己的文件系统,互不影响。
DevOps(开发、运维)
应用更快速的交付和部署
传统:一堆帮助文档,安装程序
docker:打包镜像发布测试,一键运行
更便捷的升级扩缩容
使用了Docker之后,我们部署应用就像搭积木一样
更简单的系统运维
在容器化后,我们的开发测试环境都是高度一致的
更高效的利用计算资源
总结:为什么要用docker容器?因为传统的虚拟机技术是模拟一整套操作系统,占用资源会很大,项目部署的操作很繁琐,启动也很慢,而docker容器可以使应用快速的交付部署,升级更便捷,资源利用更高效
docker的镜像、容器和仓库
镜像(image)
docker镜像就好比是一个模板,可以通过这个模板来创建容器服务,
tomcat镜像 ===> run ===>tomcat01容器(提供服务器),通过这个镜像可以创建多个容器(最终服务运行或者项目运行就是在容器中的)
容器(container)
Docker利用容器技术,独立运行一个或一组应用,通过镜像来创建的,可以把容器理解为一个简易的Linux系统
仓库(repository)
仓库分为公有仓库和私有仓库
安装
查看环境
#系统内核3.10以上的
[root@localhost ~]# uname -r
3.10.0-1062.18.1.el7.x86_64
#系统版本
[root@localhost ~]# cat /etc/os-release
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"
在 CentOS | 上安装 Docker 引擎Docker 文档
#卸载旧的docker
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
#下载安装包
yum install -y yum-utils
#设置镜像仓库
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo #默认是从国外下载,特别慢
yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo #国内阿里云镜像
#更新yum软件包索引
yum makecache fast
#安装docker相关的 docker-ce 社区版 ee企业版
yum install docker-ce docker-ce-cli containerd.io
#启动docker
systemctl start docker
#使用docker version查看是否成功
docker version
#运行镜像hello-world
docker run hello-world
#查看docker中的镜像
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest feb5d9fea6a5 6 months ago 13.3kB
了解:卸载docker
#卸载 Docker 引擎、CLI 和容器包:
yum remove docker-ce docker-ce-cli containerd.io
#主机上的映像、容器、卷或自定义配置文件不会自动删除。删除所有映像、容器和卷
rm -rf /var/lib/docker
rm -rf /var/lib/containerd
阿里云镜像加速器