- 一、简介与概述
- 容器就相当于是一个平台,里面打包了所有的东西,是一个工具包,使其运行环境能够做到一层封装,到处运行
- 跨平台服务器,可以一键部署
- 就是一个完整的centos系统,只不过更轻量,一个虚拟化轻量级linux服务器,可以解决我们在开发环境中运行配置问题
- 二、为什么使用
- docker:虚拟化容器技术
- docker主要解决开发环境配置迁移的问题
- 你的项目到任意到其他的无环境的电脑上,docker会自动安装环境
- docker最终解决了运行中环境配置的问题,自动配置好了,不用手动去配置环境
- 三、使用docker的好处
- 四、docker的核心三要素 应用商场+linux
- 仓库:专门存放镜像文件,类似于应用商场,类似maven存放jar包,
- 镜像:类似于安装包,可以把自己的项目打包成镜像给别人使用 还有第三方镜像类似于maven中央仓库https://hub.docker.com/
- 容器:运行镜像文件 有自己独立的ip和网络信息化,两个不同的容器之间可以相互通信 就相当于是一个轻量级Linux
- 五、应用场景
- web应用的自动化打包和发布
- 自动化测试和持续集成发布
- 在服务型环境中部署和调整数据库或其他的后台应用
- 六、容器与虚拟机区别
- 虚拟机:每个操作系统之间是隔离的
- 最下面的一层就是物理机,可以是服务器 infrastructure(基础设施)
- 再往上就是虚拟机软件比如说virtualbox、VMware作用是模拟计算机硬件 host operating system(主机操作系统)
- hypervisor(虚拟机管理程序)
- 在网上虚拟化liunx操作系统,就是centos,有多个
- docker docker daemon容器管理
- 虚拟机和docker各有优势,不存在谁替代掉谁的问题,很多企业都采用物理机上做虚拟机,虚拟机中跑docker的方式
- 虚拟机实现了操作系统之间的隔离
- docker是进程之间的隔离,每次启动都相当于启动了一个Linux
- 虚拟机:每个操作系统之间是隔离的
- 七、docker安装
- 1、通过 uname -r 命令查看你当前的内核版本
- 2、yum -y update更新到最新的版本
- 3、yum remove docker docker-common docker-selinux docker-engine卸载旧版本(如果安装过旧版本的话)
- 4、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的yum install -y yum-utils device-mapper-persistent-data lvm2
- 5、设置yum源yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
- 6、可以查看所有仓库中所有docker版本,并选择特定版本安装yum list docker-ce --showduplicates | sort -r
- 7、安装dockersudo yum install -y docker-ce #由于repo中默认只开启stable仓库,故这里安装的是最新稳定版18.03.1
- 8、启动并加入开机启动 systemctl start docker systemctl enable docker
- 9、验证安装是否成功(有client和service两部分表示docker安装启动都成功了)docker version
- 八、镜像就是一个安装包
- 容器就是镜像运行的实例
- 容器的状态分为:初创建
- 一个镜像可以创建多个不同的容器
- 镜像是类 容器就是实例对象
- 九、docker快速入门
- 镜像文件:就是一个安装包,包含容器所需要运行的基础文件和配置信息 比如:redis镜像、mysql镜像
- 容器:容器就是镜像运行的实例,容器状态分为:初创建、运行、停止、暂停、删除,一个镜像可以创建多个不同的容器
- 仓库:应用商场
- 镜像就是类, 容器就是实例对象
- 十、这个里面的tomcat是400,而在windows的是40多,因为在docker中的这个是一个操作系统,里面有tomcat而已
- curl:连接你的地址
- docker images查看镜像
- docker ps -a 查看启动的和之前启动现在关闭的镜像 docker ps查看正在运行的容器
- docker run -d --name tomcat -p (外部端口号):(内部端口号) tomcat:8.5
- docker inspect 容器id 查看容器内部
- docker exec -it 容器id bash 进入到容器内部
- curl 127.0.0.1:8080连接 8081是外部的(云服务器) 8080是内部的,不用连接外部的,在浏览器的框上连接外部的
- docker stop 镜像的号 停止该服务
- docker cp /usr/local/src/tomcat/tomcat-9.0.54/webapps/ROOT/ 654e5df70aa6:/usr/local/tomcat/webapps/ 把外部的关于tomcat复制到内部里面
- docker stop 容器名 关闭容器
- 现在本机找 然后再从网上找
- 不需要手动配置,自动配置
- 用dockerfile来封装配置环境依赖
- bootfs最底层文件
- docker commit根据当前容器制作镜像
- 启动起来start
- 数据卷--添加两种方式1. 直接命令形式添加 docker run -it -v 宿主机绝对路径目录:容器内目录 镜像文件名称
- 通过外部的数据卷更改内部的东西
- docker run 命令会启动一个新的容器实例 镜像和容器就是类和对象的关系
- docker run -p 8081:8080 tomcat:8 tomcat:8是指定了要使用的镜像,如果本地没有就会去官方下载,-p 8081:8080容器内的8080端口映射到宿主机的8081端口,当你访问8081的端口时,其实就是在访问8080端口提供的服务
-