Docker认识与安装(一)
文章目录
这里记录了一次Docker学习的历程,比较趋于实用性。参考B站狂神说java,由于本人个人觉得一点点看视频比较浪费时间,他也没有发笔记。于是在网上找到chengCodeX整理了他的笔记这个系列是对笔记的学习验证。其中包括了一些个人的见解和操作。
目前,docker集群,docker网络与K8S还没有涉及,后边学习到了会继续更新。
docker简介与认识
docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
传统部署
首先安装jdk环境。安装tomcat,将服务发布到tomcat容器中;或者是以jar包形式部署文件。目前项目中许多地方用到的是单实例服务,一个服务只部署一个实例。但是既然我们是做微服务,通过注册中心对一个服务的多个实例进行负载均衡,如果是一两个服务需要部署还好,但是如果是很多个实例,如此拷贝的过程很多,那其实就是重复型工作,并且都需要对这些服务器上的环境兼容性等进行测试。
虚拟化要通过虚拟机对资源进行虚拟化,而docker的优势在于可以直接使用主机操作系统的资源进行虚拟化。
作为一种新兴的虚拟化方式,docker跟传统的虚拟化方式相比具有众多的优势。
首先,docker容器的启动可以在秒级实现,这比传统的虚拟机方式要快得多。其次,docker对系统资源的利用率很高,一台主机上可以同时运行数千个docker容器。
容器除了运行其中应用外,基本上不消耗额外的系统资源,使得应用的性能很高,同时系统的开销尽量小。传统虚拟机方式运行10个不同的应用就要启动是个虚拟机,而docker只需要启动10个隔离的应用即可。
镜像
镜像是docker的三大核心概念之一
docker运行容器前需要本地存在对应的镜像,如果镜像不存在本地,docker会尝试先从默认镜像仓库下载(默认使用 docker Hub公共注册服务器中的仓库),用户也可以通过配置,使用自己的镜像仓库。
构建镜像
一般来说,类似于数据库,redis、中间件这种镜像都是直接从仓库中拉取。但是在实际开发过程中,我们的项目如果要部署到docker中,就不能去拉取现成的镜像,而是需要我们自己去构建一个镜像。
docker安装
注意:在没有要的情况下不要随意放开docker端口,否则将面临服务器被挖矿的风险。如果是自己安装的虚拟机不需要担心这些。
下载安装包
yum install -y yum-utils
设置镜像仓库
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
#默认是从国外的,不推荐
#推荐使用国内阿里云
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
更新软件包索引
yum makecache fast
安装docker相关的 docker-ce 社区版 而ee是企业版
yum install docker-ce docker-ce-cli containerd.io
启动
systemctl start docker
查看版本及测试
#查看版本
docker version
#测试
docker run hello-world
查看docker下载的镜像
docker images
安装完成!
卸载(了解)
#1. 卸载依赖
yum remove docker-ce docker-ce-cli containerd.io
#2. 删除资源
rm -rf /var/lib/docker
#/var/lib/docker 是docker的默认工作路径!
docker可视化管理工具
图形化管理工具
docker run -d -p 8080:9000 \
--restart=always -v /var/run/docker.sock:/var/run/docker.sock --privileged=true portainer/portainer