当前软件的服务拆分越来越细,一个系统正常运行需要依赖很多其他的组件。保障系统运行稳定,那么服务必须高可用。那么这就是一个笛卡尔积的主机个数,又需要配置管理,网络服务等等,这些需求都导致了虚拟主机需求。市面上有很多种类的容器化软件,经过优胜略汰,docker已经成为了容器化部署的最佳实践。
优点:
1.命令简单,运行稳定,可靠性好,并可以形成大面积的组网
2.构建原理简单易用,构建速度快,在线离线管理镜像都方便
3.镜像齐全,各种软件热衷于将docker容器化镜像
4.社区成熟,活跃度高,文档齐全,维护成本低
Docker基本概念:镜像:可以理解为软件源码,exe执行文件
容器:启动镜像后,可以提供服务的运行进程
端口映射:宿主机端口和容器端口形成的一个KEY-VALUE的映射,通过访问宿主机的端口,可以访问到容器提供的服务
数据卷:宿主机文件夹和容器文件夹的映射,这样就可以实现在宿主机更改相关文件,即可以同步修改容器中对应文件夹的文件。
常用命令:docker run 启动容器*(配置参数很丰富,需要按照需求添加)
docker ps 查看当前运行容器进程信息
docker start 启动容器
docker stop 停止容器
docker rm 删除容器
docker update 更新容器的一些配置信息
docker images 查看本地容器的镜像信息
docker rmi 删除本地镜像
docker save 将本地镜像导出为tar包
docker load 将tar文件导入到本地的镜像仓库
制作镜像镜像的原理
docker的镜像使用的是一种分层架构的设计思想,把复杂的问题通过分层简化成若干局地的小问题,最后整合在一起,形成最后的软件镜像。因为是分层,所以在构建镜像时,会有一个基础镜像的概念。通过Dockerfile的语法,定义在基础镜像中需要执行的操作,完成镜像的封装,最后形成包含你所需要功能的镜像文件。
镜像制作
用jar包打容器镜像的来举例子
操作步骤:
1.将可执行jar文件和Dockerfile统一传送到安装有docker服务器的某个文件夹(只包含软件和Dockerfile)。 2.执行构建镜像命令 my_eureka为镜像名字 v1.0为软件版本 docker build -t my_eureka:v1.0 . 3.通过docker images 来查看当前系统的本地镜像库
附录打包的Dockerfile
FROM openjdk:8 WORKDIR /app EXPOSE 8000 ADD eureka8000-1.0-SNAPSHOT.jar ./eureka-server.jar ENTRYPOINT ["java","-jar","eureka-server.jar"]
docker入坑,不疯魔不成活!



