实战:Docker容器虚拟化技术(使用DockerFile构建镜像并搭建 swarm+compose集群)5
实战:Docker容器虚拟化技术 (使用DockerFile构建镜像并搭建 swarm+compose集群)5
要求:
使用DockerFile构建镜像并搭建 swarm+compose集群
在Swarm 集群中(至少两个节点)使用 compose 文件 (docker-compose.yml) 来配置、启动多个服务 包括: Mysql、Redis以及应用程序MyProject.jar
实现流程分析
- 创建springboot程序MyProject,打成jar包:MyProject.jar
- 使用dockerfile 将MyProject.jar构建成镜像dabing/MyProject:1.0
- 搭建Swarm 集群
- 在Swarm 集群中使用 compose 文件 (docker-compose-myproject.yml) 来配置、启动多个服务
包括: Mysql、Redis以及应用程序MyProject
一、创建springboot程序并打成jar包:MyProject.jar
二、使用dockerfile 将MyProject.jar构建成镜像dabing/MyProject:1.0
将MyProject.jar拷贝到管理节点和工作节点上
管理节点和工作节点上 编写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"]
在管理节点和工作节点上 使用dockerfile 将MyProject.jar构建成镜像dabing/MyProject:1.0
查看生成的镜像
三、搭建Swarm 集群
具体参考swarm集群搭建:Docker容器虚拟化技术—Docker运维管理(Swarm集群管理)3
四、在Swarm 集群中使用 compose 文件 (docker-compose-myproject.yml) 来配置、启动多个服务 包括: Mysql、Redis以及应用程序MyProject
在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
构建服务
启动服务
查看服务
验证
实战:Docker容器虚拟化技术(使用DockerFile构建镜像并搭建 swarm+compose集群)5相关推荐
- Docker容器虚拟化技术---Docker高级实战(DockerFile)2
Docker容器虚拟化技术-Docker高级实战(DockerFile) DockerFile是一个文本格式的配置文件,用户可以使用DockerFile来快速创建自定义的镜像. 1. DockerFi ...
- docker容器虚拟化技术_Docker,虚拟机和容器的全面介绍
docker容器虚拟化技术 by shota jolbordi 通过Shota Jolbordi Docker has been a buzzword for tech people for the ...
- Docker容器虚拟化技术---Docker运维管理(Docker Compose)4
Docker容器虚拟化技术-Docker运维管理(Docker Compose)4 Docker Compose 通过前面的讲解我们知道使用一个Dockerfile模板文件,可以很方便地定义一个单独的 ...
- Docker容器虚拟化技术---Docker运维管理(Swarm集群管理)3
Docker容器虚拟化技术-Docker运维管理(Swarm集群管理)3 Swarm集群管理 docker swarm是docker官方提供的一套容器编排系统,是Docker公司推出的官方容器集群平台 ...
- Docker——容器虚拟化技术
目录 一.Docker介绍 诞生背景 Docker介绍 虚拟机技术与容器虚拟化技术 虚拟机技术 容器虚拟化技术 官方网站 二.Docker安装 安装Docker Docker管理命令 Docker底层 ...
- Docker容器虚拟化技术---Docker安装和操作1
一.Docker安装 Docker在主流的操作系统和云平台上都可以使用,包括Linux操作 系统(如Ubuntu.Debian.CentOS.Redhat等).MacOS操作系统和 Windows操作 ...
- Docker学习之六:基于Dockerfile构建镜像
镜像制作 一般镜像的制作,通常需要修改镜像的配置文件,比如nginx的配置文件,可以通过以下的方式: 将配置文件做成存储卷,从宿主机编辑好之后,启动容器时应用程序加载配置文件的路径并和宿主机的目录建立 ...
- 基于docker容器下mongodb 4.0.0 的Replica Sets+Sharded Cluster集群
目标 使用三台物理机做数据库集群 任意一台宕机之后不会影响线上的业务运转 不会有任何的数据丢失 方案 采用的是Replica Sets+Sharded Cluster的集群 具有高可用,故障转移,分布 ...
- docker容器下mongodb 4.0.0 的Replica Sets+Sharded Cluster集群
https://segmentfault.com/a/1190000023144572
最新文章
- 配置思路ensp_配置OSPF的Stub区域示例
- 《漫画算法2》源码整理-8 链表中倒数第K个节点元素
- 电视盒子root_电视盒子 免root 去广告换桌面,20分钟还原干净清爽的桌面
- python制作简单网页_python 跑服务器,访问自己制作的简单页面
- 简述ospf的工作原理_现代数字存储示波器的工作原理简述
- as3 primitives
- 根据select的选项不同跳转到不同的页面
- python 操作access数据库
- 毕业半年,帅地人生的第一个一百万
- vs code 国内镜像源
- Qt系列文章之(十三)表格窗体
- SATA硬盘的数据和电源接口定义
- 上海老百姓的胆量 VS 大牌店营业员的势利
- python操作pdf——pdfplumber/PyPDF2
- Android Q适配攻略(四)(后台Activity启动限制)
- 圆半径r = 1.5,圆柱高h = 3,求圆周长,圆面积,圆球表面积,圆球体积,圆柱体积
- 如何测试基于Unity3D引擎的游戏
- 大学计算机专业绩点在3.5算好,绩点3.5算什么水平 绩点3.5算高吗
- bzoj3436小K的农场
- Python中数组转换成字符串