实战:Docker容器虚拟化技术 (使用DockerFile构建镜像并搭建 swarm+compose集群)5


要求:

  • 使用DockerFile构建镜像并搭建 swarm+compose集群

  • 在Swarm 集群中(至少两个节点)使用 compose 文件 (docker-compose.yml) 来配置、启动多个服务 包括: Mysql、Redis以及应用程序MyProject.jar


实现流程分析

  1. 创建springboot程序MyProject,打成jar包:MyProject.jar
  2. 使用dockerfile 将MyProject.jar构建成镜像dabing/MyProject:1.0
  3. 搭建Swarm 集群
  4. 在Swarm 集群中使用 compose 文件 (docker-compose-myproject.yml) 来配置、启动多个服务
    包括: Mysql、Redis以及应用程序MyProject

一、创建springboot程序并打成jar包:MyProject.jar


二、使用dockerfile 将MyProject.jar构建成镜像dabing/MyProject:1.0

  1. 将MyProject.jar拷贝到管理节点和工作节点上

  2. 管理节点和工作节点上 编写dockerfile-myproject文件

     # This Dockerfile uses the centos imageFROM centos:7.6.1810# 指定容器内部使用语言ENV LANG="en_US.UTF-8"ENV LC_ALL="en_US.UTF-8"# 指定JDK环境ENV JAVA_HOME="/apps/jdk"ENV PATH=${JAVA_HOME}/bin:$PATH# 使用亚洲/上海时区RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime# 创建工作目录RUN mkdir -p /apps /data/apps# 安装JDKADD ./jdk-8u251-linux-x64.tar.gz /apps/RUN ln -s /apps/jdk1.8.0_251 /apps/jdkADD ./UnlimitedJCEPolicyJDK8/US_export_policy.jar /apps/jdk/jre/lib/security/ADD ./UnlimitedJCEPolicyJDK8/local_policy.jar /apps/jdk/jre/lib/security/# 拷贝Hot.jar并运行COPY MyProject.jar MyProject.jarEXPOSE 8080ENTRYPOINT ["java","-jar","MyProject.jar"]
    
  3. 在管理节点和工作节点上 使用dockerfile 将MyProject.jar构建成镜像dabing/MyProject:1.0

  4. 查看生成的镜像


三、搭建Swarm 集群


具体参考swarm集群搭建:Docker容器虚拟化技术—Docker运维管理(Swarm集群管理)3


四、在Swarm 集群中使用 compose 文件 (docker-compose-myproject.yml) 来配置、启动多个服务 包括: Mysql、Redis以及应用程序MyProject

  1. 在manager节点使用 compose 文件 (docker-compose-myproject.yml) 来配置 (包括: Mysql、Redis以及应用程序MyProject)

     version: "3.0"services:mysql:image: mysql:5.7.30ports:- 3306:3306command:--default-authentication-plugin=mysql_native_password--character-set-server=utf8mb4--collation-server=utf8mb4_general_ci--explicit_defaults_for_timestamp=true--lower_case_table_names=1--default-time-zone=+8:00environment:MYSQL_ROOT_PASSWORD: "root"volumes:- "/docker/mysql/db:/var/lib/mysql"deploy:mode: replicatedreplicas: 2redis:image: redis:5.0.9environment:- TZ=Asia/beijingports:- 6379:6379volumes:- /docker/redis/data:/datadeploy:mode: replicatedreplicas: 2myproject: image: dabing/myproject:1.0ports:- 8888:8888environment: TZ: Asia/Shanghaideploy:mode: replicatedreplicas: 2
    
  2. 构建服务

  3. 启动服务

  4. 查看服务

  5. 验证

实战:Docker容器虚拟化技术(使用DockerFile构建镜像并搭建 swarm+compose集群)5相关推荐

  1. Docker容器虚拟化技术---Docker高级实战(DockerFile)2

    Docker容器虚拟化技术-Docker高级实战(DockerFile) DockerFile是一个文本格式的配置文件,用户可以使用DockerFile来快速创建自定义的镜像. 1. DockerFi ...

  2. docker容器虚拟化技术_Docker,虚拟机和容器的全面介绍

    docker容器虚拟化技术 by shota jolbordi 通过Shota Jolbordi Docker has been a buzzword for tech people for the ...

  3. Docker容器虚拟化技术---Docker运维管理(Docker Compose)4

    Docker容器虚拟化技术-Docker运维管理(Docker Compose)4 Docker Compose 通过前面的讲解我们知道使用一个Dockerfile模板文件,可以很方便地定义一个单独的 ...

  4. Docker容器虚拟化技术---Docker运维管理(Swarm集群管理)3

    Docker容器虚拟化技术-Docker运维管理(Swarm集群管理)3 Swarm集群管理 docker swarm是docker官方提供的一套容器编排系统,是Docker公司推出的官方容器集群平台 ...

  5. Docker——容器虚拟化技术

    目录 一.Docker介绍 诞生背景 Docker介绍 虚拟机技术与容器虚拟化技术 虚拟机技术 容器虚拟化技术 官方网站 二.Docker安装 安装Docker Docker管理命令 Docker底层 ...

  6. Docker容器虚拟化技术---Docker安装和操作1

    一.Docker安装 Docker在主流的操作系统和云平台上都可以使用,包括Linux操作 系统(如Ubuntu.Debian.CentOS.Redhat等).MacOS操作系统和 Windows操作 ...

  7. Docker学习之六:基于Dockerfile构建镜像

    镜像制作 一般镜像的制作,通常需要修改镜像的配置文件,比如nginx的配置文件,可以通过以下的方式: 将配置文件做成存储卷,从宿主机编辑好之后,启动容器时应用程序加载配置文件的路径并和宿主机的目录建立 ...

  8. 基于docker容器下mongodb 4.0.0 的Replica Sets+Sharded Cluster集群

    目标 使用三台物理机做数据库集群 任意一台宕机之后不会影响线上的业务运转 不会有任何的数据丢失 方案 采用的是Replica Sets+Sharded Cluster的集群 具有高可用,故障转移,分布 ...

  9. docker容器下mongodb 4.0.0 的Replica Sets+Sharded Cluster集群

    https://segmentfault.com/a/1190000023144572

最新文章

  1. C# 3.0入门系列
  2. 计算机基础知识考试模拟试题,计算机基础知识模拟试题及答案
  3. scrapy + selenium + chromedriver爬取动态数据
  4. C++多态的概念及前提条件(最精辟)
  5. 李国庆俞渝撕破脸,当当喊话:冲动是魔鬼 冷静下来吧
  6. OPNET网络仿真分析-1.5、OPNET中英文对比
  7. 【转帖】Java并发编程:volatile关键字解析
  8. 升级iOS10后,AVPlayer有时候播放延时和播放不了的问题
  9. 数学常用特殊符号读音
  10. getPrepayId php,php微信支付接口开发程序
  11. Pikachu漏洞平台练习
  12. Sentinel流量防控卫兵
  13. 关于黑马视频String 与int之间相互转化
  14. 华为p10自带计算机,华为P10评测:EMUI 5.1越用越快、总结
  15. 《剑指Offer》题解与笔记(Java实现)
  16. 姿态和位置,四旋翼的控制流程
  17. css 参考手册 部署到本地
  18. 【JAVA】贪吃蛇的初步实现(五)
  19. AIX常用操作-转载
  20. 金三银四、金九银十 面试宝典 Spring、MyBatis、SpringMVC面试题 超级无敌全的面试题汇总(超万字的面试题,让你的SSM框架无可挑剔)

热门文章

  1. 统计数据:Google排名高的是什么样的页面?
  2. MySql关键字-保留字
  3. 使用NBAR更有效的识别与封堵网络应用
  4. Esper epl语句实验
  5. 有间距的表格布局 table布局
  6. bootstrap1
  7. LNMP安装了哪些软件?安装目录在哪?
  8. 软件工程课设迭代开发第二天
  9. ios7以后隐藏状态栏
  10. 性能调优的方法及概念