当前位置: 首页 > news >正文

宁波网站制作公司推荐长沙市房产交易中心官网

宁波网站制作公司推荐,长沙市房产交易中心官网,美容网站设计,东莞网站开发技术公司电话目录 一#xff1a;Dockerfile自定义镜像 1. 镜像结构 2. Dockerfile语法 3. 构建Java项目 二#xff1a; Docker-Compose 1. 初识DockerCompose 2. 部署微服务集群 前些天突然发现了一个巨牛的人工智能学习网站#xff0c;通俗易懂#xff0c;风趣幽默#xff0c;…目录 一Dockerfile自定义镜像 1. 镜像结构 2. Dockerfile语法 3. 构建Java项目 二 Docker-Compose 1. 初识DockerCompose 2. 部署微服务集群 前些天突然发现了一个巨牛的人工智能学习网站通俗易懂风趣幽默感兴趣的同学可以进行学习人工智能学习 一Dockerfile自定义镜像 前面我们怎么拉取镜像怎么去创建运行容器但是都是基于DockerHub官方制作的镜像。接下来就学习一下怎么自己制作镜像 1. 镜像结构 镜像是将应用程序及其需要的系统函数库、环境、配置、依赖打包而成 镜像结构镜像是分层结构每一层称为一个Layer 基础镜像BaseImage一定是某个镜像依赖的系统函数库这一层称为基础镜像。 入口Entrypoint等所有的安装步骤完成就需要暴露一个端口出去用来启动使用。 层Layer在基础层的基础上给应用配置环境变量下载安装包依赖等每一个操作都是新的一层。 2. Dockerfile语法 什么是Dockerfile Dockerfile就是一个文本文件其中包含一个个的指令(Instruction)用指令来说明要执行什么操作来构建镜像。每一个指令都会形成一层Layer。 更详细语法说明请参考官网文档Dockerfile reference | Docker Docs 3. 构建Java项目 案例1基于Ubuntu镜像构建一个新镜像运行一个java项目 步骤1新建一个空文件夹docker-demo mkdir docker-demo步骤2拷贝资料中的docker-demo.jar项目、jdk8.tar.gzJava运行环境、Dockerfile构建说明书文件到docker-demo这个目录 DockerFile文件是构建说明书  # 指定基础镜像 FROM ubuntu:16.04 # 配置环境变量JDK的安装目录 ENV JAVA_DIR/usr/local# 拷贝jdk和java项目的包到指定目录 COPY ./jdk8.tar.gz $JAVA_DIR/ COPY ./docker-demo.jar /tmp/app.jar#安装JDK # 进入目录解压JDK,修改名字 RUN cd $JAVA_DIR \ tar -xf ./jdk8.tar.gz \ mv ./jdk1.8.0_144 ./java8# 配置环境变量 ENV JAVA_HOME$JAVA_DIR/java8 ENV PATH$PATH:$JAVA_HOME/bin#-------------------以上配置基本上都是安装JDK # 暴露端口 EXPOSE 8090 # 入口java项目的启动命令 ENTRYPOINT java -jar /tmp/app.jar 步骤3运行命令构建镜像 -t表示tag版本号点“.”表示当前目录当前Dockerfile文件所在的目录 docker build -t javaweb:1.0 . #当前就在Dockerfile所在的目录所以使用点 构建完成后查看镜像docker images 运行容器 docker run --name web -p 8090:8090 -d javaweb:1.0 浏览器进行访问 http://192.168.2.129:8090/hello/count 成功构建并部署成功 案例2基于java:8-alpine镜像将一个Java项目构建为镜像 上面的过程看起来很繁琐但是大部分的操作都是安装JDK而已所以可以基于java:8-alpine镜像来构建Java项目项目这个镜像默认已经安装了JDK。 Dockerfile文件 # 指定基础镜像 FROM java:8-alpine # 暴露端口 EXPOSE 8090 # 入口java项目的启动命令 ENTRYPOINT java -jar /tmp/app.jar 再次构建 docker build -t javaweb:2.0 . 二 DockerCompose 1. 初识DockerCompose 什么是DockerCompose Docker Compose可以基于Compose文件帮我们快速的部署分布式应用而无需手动一个个创建和运行容器 Compose文件是一个文本文件通过指令定义集群中的每个容器如何运行。 version: 3.8 # 版本 services: #---------------------第一种方式mysql: # 服务名称相当于--nameimage: mysql:5.7.25 # 镜像名称environment: # 配置密码相当于 -e 对于端口不需要暴露在集群内部使用所以不需要配MYSQL_ROOT_PASSWORD: 123 volumes: # 数据卷配置-d默认就是- /tmp/mysql/data:/var/lib/mysql-  /tmp/mysql/conf/hmy.cnf:/etc/mysql/conf.d/hmy.cnf#---------------------第二种方式web: # 名称webbuild: . # 点表示在当前目录构建ports: # 构建完以后直接启动容器- 8090:8090# -------------原来的方式 #---------------------第一种方式 # 容器的启动 docker run \--name mysql \-p 3306:3306 \-e MYSQL_ROOT_PASSWORD123456 \ # 设置密码-v /tmp/mysql/conf/hmy.cnf:/etc/mysql/conf.d/hmy.cnf \ # 挂载配置文件-v /tmp/mysql/data:/var/lib/mysql \ #挂载数据目录-d mysql:5.7.25 #---------------------第二种方式 # 构建镜像 docker build -t web:1.0 # 容器的启动‘ docker run --name web -p 8080:80 -d web:1.0DockerCompose的详细语法参考官网Overview | Docker Docs 安装DockerCompose 第一步Linux下需要通过命令下载 # 安装 curl -L https://github.com/docker/compose/releases/download/1.23.1/docker-compose-uname -s-uname -m /usr/local/bin/docker-compose 当然如果有现成的docker-compose文件直接上传到/usr/local/bin/目录也可以 第二步修改文件的权限 # 修改权限增加可执行权限 chmod x /usr/local/bin/docker-compose 补充Base自动补全命令以后编写docker-compose命令会有提示  # 补全命令 curl -L https://raw.githubusercontent.com/docker/compose/1.29.1/contrib/completion/bash/docker-compose /etc/bash_completion.d/docker-compose 如果上述出现错误需要修改自己的hosts文件 # 上述出现错误可能是域名识别不了raw.githubusercontent.com echo 185.199.108.133 raw.githubusercontent.com /etc/hosts 2. 部署微服务集群 将之前学习的cloud-demo微服务集群利用DockerCompose部署到服务器上 第一步对于cloud-demo需要部署网关gateway、order-service、user-service、nacos、mysql 第二步在gateway、order-service、user-service编写Dockerfile FROM java:8-alpine COPY ./app.jar /tmp/app.jar # 这个app.jar就是我们需要打的jar包 ENTRYPOINT java -jar /tmp/app.jar 第三步编写docker-compose每个服务启动 version: 3.2 # 版本services: # 服务nacos: # ---------------第一个服务nacosimage: nacos/nacos-server # nacos的镜像environment: # 环境相当于-m单击运行的配置MODE: standaloneports: # 端口- 8848:8848mysql: # ---------第二个服务mysqlimage: mysql:5.7.25 # 镜像名称environment:MYSQL_ROOT_PASSWORD: 123 # 密码volumes: # 数据卷挂载- $PWD/mysql/data:/var/lib/mysql # $PWD得到当前的目录- $PWD/mysql/conf:/etc/mysql/conf.d/user-service: # ---------第三个服务user-servicebuild: ./user-serviceorder-service: # ---------第四个服务order-servicebuild: ./order-servicegateway: # ---------第五个服务gateway网关暴露了接口build: ./gatewayports:- 10010:10010第四步修改自己的cloud-demo项目gatewayorder-serviceuser-service将数据库、nacos地址都命名为docker-compose中的服务名------------》localhost改为对应的服务名使用Docker-compose部署所有服务之间都可以用服务名进行访问。 例如以下这种情况localhost改为服务名称nacos 第五步使用maven打包工具将项目中的每个微服务gatewayorder-serviceuser-service都打包为app.jar buildfinalNameapp/finalNamepluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactId/plugin/plugins/build 对cloud-demo项目利用生命周期先clean然后在打包package将打包好的app.jar拷贝到cloud-demo中的每一个对应的子目录中 整体目录 每一个服务的目录结构 第六步将cloud-demo上传至虚拟机进入cloud-demo目录 docker-compose up -d # up参数表示创建并执行容器-d后台运行 docker ps查看创建的容器 注如果你的网速够快一下子就把镜像构建出来在启动时查看docker-compose logs -f查看日志会发现有的服务启动有问题这是因为nacos还没有完全启动的原因 # 建议重启一下除nacos的其它服务 docker-compose restart order-service gateway user-service 打开浏览器去访问http://192.168.2.129:10010/user/2?authorizationadmin能正常访问表示部署成功
http://www.hkea.cn/news/14367739/

相关文章:

  • 东阿网站建设价格自动生成设计logo图标
  • asp.net 怎样生成网站微信小程序注册流程
  • 白云营销型网站建设国和建设集团网站
  • 哪个网站做设计可以挣钱免费网站如何注册
  • 电子商务网站方案微信公众平台做微网站吗
  • 网站建设论团logo查询网站
  • 如何做适合网站大小的图片手机网站 生成
  • 做拍卖网站怎么样网站建设需要精通什么知识
  • 江北网站建设什么是域名
  • 视频分享网站开发玉林网站建设培训
  • 乡镇网站个人做可以不网站添加搜索
  • 深圳网站建设那家好怎么建com的网站
  • 做全房订制网站公司企业网站建设的步骤
  • 购物02网站网站如何建设与安全管理制度
  • 鹿泉外贸网站建设换服务器后网站首页不收录
  • 万州房地产网站建设怎样做网站卖自己的产品教程
  • 如何建设网站效果好app联盟推广平台
  • 长沙网站公司哪家好建设工程合同的性质是
  • 什么是网站框架结构广州 关于进一步优化
  • wordpress设置网站关键字苏州公司网站设计
  • 青海西宁学做网站在哪餐饮vi设计公司
  • 国内做的比较大的外贸电商网站网站模版
  • 企业建设网站公司简介wordpress导航站模版
  • 别墅效果图网站京东网站设计代码
  • 赣榆区城乡建设局网站北京网站整站优化
  • 计算科学与学习网站建设与实施wordpress 目录扫描
  • 天水嘉通建设集团网站网站Api接口怎么做
  • 网站分几种类型wordpress不显示模板
  • 广东建设教育协会网站首页百度查重
  • ajax 翻页 wordpress西宁网站优化