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

如何文字推广一个婚恋网站自己做网站怎么编代码

如何文字推广一个婚恋网站,自己做网站怎么编代码,中国核工业第五建设有限公司待遇怎么样,wordpress后台打开慢Docker 体系#xff08;高级篇#xff09; 五、Docker-compose容器编排 1. 是什么 Compose 是 Docker 公司推出的一个工具软件#xff0c;可以管理多个 Docker 容器组成一个应用。你需要定义一个 YAML 格式的配置文件docker-compose.yml#xff0c;写好多个容器之间的调…Docker 体系高级篇 五、Docker-compose容器编排 1. 是什么 Compose 是 Docker 公司推出的一个工具软件可以管理多个 Docker 容器组成一个应用。你需要定义一个 YAML 格式的配置文件docker-compose.yml写好多个容器之间的调用关系。然后只要一个命令就能同时启动/关闭这些容器Docker-Compose是Docker官方的开源项目 负责实现对Docker容器集群的快速编排。 2. 能干嘛 docker建议我们每一个容器中只运行一个服务因为docker容器本身占用资源极少,所以最好是将每个服务单独的分割开来但是这样我们又面临了一个问题如果我需要同时部署好多个服务,难道要每个服务单独写Dockerfile然后在构建镜像,构建容器,这样累都累死了,所以docker官方给我们提供了docker-compose多服务部署的工具。例如要实现一个Web微服务项目除了Web服务容器本身往往还需要再加上后端的数据库mysql服务容器redis服务器注册中心eureka甚至还包括负载均衡容器等等。。。。。。Compose允许用户通过一个单独的docker-compose.yml模板文件YAML 格式来定义一组相关联的应用容器为一个项目project。可以很容易地用一个配置文件定义一个多容器的应用然后使用一条指令安装这个应用的所有依赖完成构建。Docker-Compose 解决了容器与容器之间如何管理编排的问题。 3. 去哪下 3.1官网 https://docs.docker.com/compose/compose-file/compose-file-v3/ 3.2 官网下载 https://docs.docker.com/compose/install/ 3.3 安装步骤 curl -L https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose chmod x /usr/local/bin/docker-compose docker-compose --version3.4 卸载步骤 4. Compose核心概念 4.1 一文件 docker-compose.yml 4.2 两要素 服务service 一个个应用容器实例比如订单微服务、库存微服务、mysql容器、nginx容器或者redis容器 工程project 由一组关联的应用容器组成的一个完整业务单元在 docker-compose.yml 文件中定义。 5. Compose使用的三个步骤 编写Dockerfile定义各个微服务应用并构建出对应的镜像文件使用 docker-compose.yml 定义一个完整业务单元安排好整体应用中的各个容器服务。最后执行docker-compose up命令 来启动并运行整个应用程序完成一键部署上线 6. Compose常用命令 docker-compose -h # 查看帮助 docker-compose up # 启动所有docker-compose服务 docker-compose up -d # 启动所有docker-compose服务并后台运行 docker-compose down # 停止并删除容器、网络、卷、镜像。 docker-compose exec yml里面的服务id # 进入容器实例内部 docker-compose exec docker-compose.yml文件中写的服务id /bin/bash docker-compose ps # 展示当前docker-compose编排过的运行的所有容器 docker-compose top # 展示当前docker-compose编排过的容器进程docker-compose logs yml里面的服务id # 查看容器输出日志 docker-compose config # 检查配置 docker-compose config -q # 检查配置有问题才有输出 docker-compose restart # 重启服务 docker-compose start # 启动服务 docker-compose stop # 停止服务7. Compose编排微服务 7.1 改造升级微服务工程docker_boot 7.1.1 以前的基础版 7.1.2 SQL建表建库 CREATE TABLE t_user (id int(10) unsigned NOT NULL AUTO_INCREMENT,username varchar(50) NOT NULL DEFAULT COMMENT 用户名,password varchar(50) NOT NULL DEFAULT COMMENT 密码,sex tinyint(4) NOT NULL DEFAULT 0 COMMENT 性别 0女 1男 ,deleted tinyint(4) unsigned NOT NULL DEFAULT 0 COMMENT 删除标志默认0不删除1删除,update_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 更新时间,create_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 创建时间,PRIMARY KEY (id) ) ENGINEInnoDB AUTO_INCREMENT1 DEFAULT CHARSETutf8 COMMENT用户表7.1.3 改POM ?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersionparentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion2.5.6/version!--version2.3.10.RELEASE/version--relativePath/ !-- lookup parent from repository --/parentgroupIdcom.alex.docker/groupIdartifactIddocker_boot/artifactIdversion0.0.1-SNAPSHOT/versionpropertiesproject.build.sourceEncodingUTF-8/project.build.sourceEncodingmaven.compiler.source1.8/maven.compiler.sourcemaven.compiler.target1.8/maven.compiler.targetjunit.version4.12/junit.versionlog4j.version1.2.17/log4j.versionlombok.version1.16.18/lombok.versionmysql.version5.1.47/mysql.versiondruid.version1.1.16/druid.versionmapper.version4.1.5/mapper.versionmybatis.spring.boot.version1.3.0/mybatis.spring.boot.version/propertiesdependencies!--guava Google 开源的 Guava 中自带的布隆过滤器--dependencygroupIdcom.google.guava/groupIdartifactIdguava/artifactIdversion23.0/version/dependency!-- redisson --dependencygroupIdorg.redisson/groupIdartifactIdredisson/artifactIdversion3.13.4/version/dependency!--SpringBoot通用依赖模块--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-actuator/artifactId/dependency!--swagger2--dependencygroupIdio.springfox/groupIdartifactIdspringfox-swagger2/artifactIdversion2.9.2/version/dependencydependencygroupIdio.springfox/groupIdartifactIdspringfox-swagger-ui/artifactIdversion2.9.2/version/dependency!--SpringBoot与Redis整合依赖--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-redis/artifactId/dependency!--springCache--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-cache/artifactId/dependency!--springCache连接池依赖包--dependencygroupIdorg.apache.commons/groupIdartifactIdcommons-pool2/artifactId/dependency!-- jedis --dependencygroupIdredis.clients/groupIdartifactIdjedis/artifactIdversion3.1.0/version/dependency!--Mysql数据库驱动--dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion5.1.47/version/dependency!--SpringBoot集成druid连接池--dependencygroupIdcom.alibaba/groupIdartifactIddruid-spring-boot-starter/artifactIdversion1.1.10/version/dependencydependencygroupIdcom.alibaba/groupIdartifactIddruid/artifactIdversion${druid.version}/version/dependency!--mybatis和springboot整合--dependencygroupIdorg.mybatis.spring.boot/groupIdartifactIdmybatis-spring-boot-starter/artifactIdversion${mybatis.spring.boot.version}/version/dependency!-- 添加springboot对amqp的支持 --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-amqp/artifactId/dependencydependencygroupIdcommons-codec/groupIdartifactIdcommons-codec/artifactIdversion1.10/version/dependency!--通用基础配置junit/devtools/test/log4j/lombok/hutool--!--hutool--dependencygroupIdcn.hutool/groupIdartifactIdhutool-all/artifactIdversion5.2.3/version/dependencydependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion${junit.version}/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-devtools/artifactIdscoperuntime/scopeoptionaltrue/optional/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependencydependencygroupIdlog4j/groupIdartifactIdlog4j/artifactIdversion${log4j.version}/version/dependencydependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdversion${lombok.version}/versionoptionaltrue/optional/dependency!--persistence--dependencygroupIdjavax.persistence/groupIdartifactIdpersistence-api/artifactIdversion1.0.2/version/dependency!--通用Mapper--dependencygroupIdtk.mybatis/groupIdartifactIdmapper/artifactIdversion${mapper.version}/version/dependency/dependenciesbuildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactId/pluginplugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-resources-plugin/artifactIdversion3.1.0/version/plugin/plugins/build/project7.1.4 写yml server.port6001 # alibaba.druid相关配置 spring.datasource.typecom.alibaba.druid.pool.DruidDataSource spring.datasource.driver-class-namecom.mysql.jdbc.Driver spring.datasource.urljdbc:mysql://192.168.111.169:3306/db2021?useUnicodetruecharacterEncodingutf-8useSSLfalse spring.datasource.usernameroot spring.datasource.password123456 spring.datasource.druid.test-while-idlefalse # redis相关配置 spring.redis.database0 spring.redis.host192.168.111.169 spring.redis.port6379 spring.redis.password spring.redis.lettuce.pool.max-active8 spring.redis.lettuce.pool.max-wait-1ms spring.redis.lettuce.pool.max-idle8 spring.redis.lettuce.pool.min-idle0 # mybatis相关配置 mybatis.mapper-locationsclasspath:mapper/*.xml mybatis.type-aliases-packagecom.atguigu.docker.entities # swagger spring.swagger2.enabledtrue7.1.5 主启动 package com.alex.docker;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import tk.mybatis.spring.annotation.MapperScan;SpringBootApplication MapperScan(com.alex.docker.mapper) //import tk.mybatis.spring.annotation.MapperScan; public class DockerBootApplication {public static void main(String[] args){SpringApplication.run(DockerBootApplication.class, args);}}7.1.6 业务类 config配置类 // RedisConfig package com.alex.docker.config;import lombok.extern.slf4j.Slf4j; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer; import org.springframework.data.redis.serializer.StringRedisSerializer;import java.io.Serializable;Configuration Slf4j public class RedisConfig {/*** param lettuceConnectionFactory* return** redis序列化的工具配置类下面这个请一定开启配置* 127.0.0.1:6379 keys ** 1) ord:102 序列化过* 2) \xac\xed\x00\x05t\x00\aord:102 野生没有序列化过*/Beanpublic RedisTemplateString,Serializable redisTemplate(LettuceConnectionFactory lettuceConnectionFactory){RedisTemplateString,Serializable redisTemplate new RedisTemplate();redisTemplate.setConnectionFactory(lettuceConnectionFactory);//设置key序列化方式stringredisTemplate.setKeySerializer(new StringRedisSerializer());//设置value的序列化方式jsonredisTemplate.setValueSerializer(new GenericJackson2JsonRedisSerializer());redisTemplate.setHashKeySerializer(new StringRedisSerializer());redisTemplate.setHashValueSerializer(new GenericJackson2JsonRedisSerializer());redisTemplate.afterPropertiesSet();return redisTemplate;}}// SwaggerConfig package com.alex.docker.config;import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import springfox.documentation.builders.ApiInfoBuilder; import springfox.documentation.builders.PathSelectors; import springfox.documentation.builders.RequestHandlerSelectors; import springfox.documentation.service.ApiInfo; import springfox.documentation.spi.DocumentationType; import springfox.documentation.spring.web.plugins.Docket; import springfox.documentation.swagger2.annotations.EnableSwagger2;import java.text.SimpleDateFormat; import java.util.Date;Configuration EnableSwagger2 public class SwaggerConfig {Value(${spring.swagger2.enabled})private Boolean enabled;Beanpublic Docket createRestApi() {return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).enable(enabled).select().apis(RequestHandlerSelectors.basePackage(com.atguigu.docker)) //你自己的package.paths(PathSelectors.any()).build();}public ApiInfo apiInfo() {return new ApiInfoBuilder().title(Java技术\tnew SimpleDateFormat(yyyy-MM-dd).format(new Date())).description(docker-compose).version(1.0).termsOfServiceUrl(https://www.alex.com/).build();} }新建entity // User package com.alex.docker.entities;import javax.persistence.Column; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.Table; import java.util.Date;Table(name t_user) public class User {IdGeneratedValue(generator JDBC)private Integer id;/*** 用户名*/private String username;/*** 密码*/private String password;/*** 性别 0女 1男 */private Byte sex;/*** 删除标志默认0不删除1删除*/private Byte deleted;/*** 更新时间*/Column(name update_time)private Date updateTime;/*** 创建时间*/Column(name create_time)private Date createTime;/*** return id*/public Integer getId() {return id;}/*** param id*/public void setId(Integer id) {this.id id;}/*** 获取用户名** return username - 用户名*/public String getUsername() {return username;}/*** 设置用户名** param username 用户名*/public void setUsername(String username) {this.username username;}/*** 获取密码** return password - 密码*/public String getPassword() {return password;}/*** 设置密码** param password 密码*/public void setPassword(String password) {this.password password;}/*** 获取性别 0女 1男 ** return sex - 性别 0女 1男 */public Byte getSex() {return sex;}/*** 设置性别 0女 1男 ** param sex 性别 0女 1男 */public void setSex(Byte sex) {this.sex sex;}/*** 获取删除标志默认0不删除1删除** return deleted - 删除标志默认0不删除1删除*/public Byte getDeleted() {return deleted;}/*** 设置删除标志默认0不删除1删除** param deleted 删除标志默认0不删除1删除*/public void setDeleted(Byte deleted) {this.deleted deleted;}/*** 获取更新时间** return update_time - 更新时间*/public Date getUpdateTime() {return updateTime;}/*** 设置更新时间** param updateTime 更新时间*/public void setUpdateTime(Date updateTime) {this.updateTime updateTime;}/*** 获取创建时间** return create_time - 创建时间*/public Date getCreateTime() {return createTime;}/*** 设置创建时间** param createTime 创建时间*/public void setCreateTime(Date createTime) {this.createTime createTime;} }// UserDTO package com.alex.docker.entities;import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor;import java.io.Serializable; import java.util.Date;NoArgsConstructor AllArgsConstructor Data ApiModel(value 用户信息) public class UserDTO implements Serializable {ApiModelProperty(value 用户ID)private Integer id;ApiModelProperty(value 用户名)private String username;ApiModelProperty(value 密码)private String password;ApiModelProperty(value 性别 0女 1男 )private Byte sex;ApiModelProperty(value 删除标志默认0不删除1删除)private Byte deleted;ApiModelProperty(value 更新时间)private Date updateTime;ApiModelProperty(value 创建时间)private Date createTime;/*** return id*/public Integer getId() {return id;}/*** param id*/public void setId(Integer id) {this.id id;}/*** 获取用户名** return username - 用户名*/public String getUsername() {return username;}/*** 设置用户名** param username 用户名*/public void setUsername(String username) {this.username username;}/*** 获取密码** return password - 密码*/public String getPassword() {return password;}/*** 设置密码** param password 密码*/public void setPassword(String password) {this.password password;}/*** 获取性别 0女 1男 ** return sex - 性别 0女 1男 */public Byte getSex() {return sex;}/*** 设置性别 0女 1男 ** param sex 性别 0女 1男 */public void setSex(Byte sex) {this.sex sex;}/*** 获取删除标志默认0不删除1删除** return deleted - 删除标志默认0不删除1删除*/public Byte getDeleted() {return deleted;}/*** 设置删除标志默认0不删除1删除** param deleted 删除标志默认0不删除1删除*/public void setDeleted(Byte deleted) {this.deleted deleted;}/*** 获取更新时间** return update_time - 更新时间*/public Date getUpdateTime() {return updateTime;}/*** 设置更新时间** param updateTime 更新时间*/public void setUpdateTime(Date updateTime) {this.updateTime updateTime;}/*** 获取创建时间** return create_time - 创建时间*/public Date getCreateTime() {return createTime;}/*** 设置创建时间** param createTime 创建时间*/public void setCreateTime(Date createTime) {this.createTime createTime;}Overridepublic String toString() {return User{ id id , username username \ , password password \ , sex sex };} }新建mapper // 新建接口UserMapperpackage com.alex.docker.mapper;import com.atguigu.docker.entities.User; import tk.mybatis.mapper.common.Mapper;public interface UserMapper extends MapperUser { } src\main\resources路径下新建mapper文件夹并新增UserMapper.xml ?xml version1.0 encodingUTF-8? !DOCTYPE mapper PUBLIC -//mybatis.org//DTD Mapper 3.0//EN http://mybatis.org/dtd/mybatis-3-mapper.dtd mapper namespacecom.alex.docker.mapper.UserMapperresultMap idBaseResultMap typecom.alex.docker.entities.User!--WARNING - mbg.generated--id columnid jdbcTypeINTEGER propertyid /result columnusername jdbcTypeVARCHAR propertyusername /result columnpassword jdbcTypeVARCHAR propertypassword /result columnsex jdbcTypeTINYINT propertysex /result columndeleted jdbcTypeTINYINT propertydeleted /result columnupdate_time jdbcTypeTIMESTAMP propertyupdateTime /result columncreate_time jdbcTypeTIMESTAMP propertycreateTime //resultMap /mapper新建service package com.alex.docker.service;import com.alex.docker.entities.User; import com.alex.docker.mapper.UserMapper; import lombok.extern.slf4j.Slf4j; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.ValueOperations; import org.springframework.stereotype.Service; import org.springframework.web.bind.annotation.PathVariable;import javax.annotation.Resource; import java.util.concurrent.TimeUnit;Service Slf4j public class UserService {public static final String CACHE_KEY_USER user:;Resourceprivate UserMapper userMapper;Resourceprivate RedisTemplate redisTemplate;/*** addUser* param user*/public void addUser(User user){//1 先插入mysql并成功int i userMapper.insertSelective(user);if(i 0){//2 需要再次查询一下mysql将数据捞回来并okuser userMapper.selectByPrimaryKey(user.getId());//3 将捞出来的user存进redis完成新增功能的数据一致性。String key CACHE_KEY_USERuser.getId();redisTemplate.opsForValue().set(key,user);}}/*** findUserById* param id* return*/public User findUserById(Integer id){User user null;String key CACHE_KEY_USERid;//1 先从redis里面查询如果有直接返回结果如果没有再去查询mysqluser (User) redisTemplate.opsForValue().get(key);if(user null){//2 redis里面无继续查询mysqluser userMapper.selectByPrimaryKey(id);if(user null){//3.1 redismysql 都无数据//你具体细化防止多次穿透我们规定记录下导致穿透的这个key回写redisreturn user;}else{//3.2 mysql有需要将数据写回redis保证下一次的缓存命中率redisTemplate.opsForValue().set(key,user);}}return user;} }新建controller package com.alex.docker.controller;import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.ReferenceUtil; import com.alex.docker.entities.User; import com.alex.docker.entities.UserDTO; import com.alex.docker.service.UserService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.models.auth.In; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*;import javax.annotation.Resource; import java.util.Random;/*** auther zzyy* create 2021-05-01 15:02*/ Api(description 用户User接口) RestController Slf4j public class UserController {Resourceprivate UserService userService;ApiOperation(数据库新增3条记录)RequestMapping(value /user/add,method RequestMethod.POST)public void addUser(){for (int i 1; i 3; i) {User user new User();user.setUsername(zzyyi);user.setPassword(IdUtil.simpleUUID().substring(0,6));user.setSex((byte) new Random().nextInt(2));userService.addUser(user);}}ApiOperation(删除1条记录)RequestMapping(value /user/delete/{id},method RequestMethod.POST)public void deleteUser(PathVariable Integer id){userService.deleteUser(id);}ApiOperation(修改1条记录)RequestMapping(value /user/update,method RequestMethod.POST)public void updateUser(RequestBody UserDTO userDTO){User user new User();BeanUtils.copyProperties(userDTO,user);userService.updateUser(user);}ApiOperation(查询1条记录)RequestMapping(value /user/find/{id},method RequestMethod.GET)public User findUserById(PathVariable Integer id){return userService.findUserById2(id);} }7.1.7 mvn package命令将微服务形成新的jar包 并上传到Linux服务器/mydocker目录下 7.1.8 编写Dockerfile # 基础镜像使用java FROM java:8 # 作者 MAINTAINER alex # VOLUME 指定临时文件目录为/tmp在主机/var/lib/docker目录下创建了一个临时文件并链接到容器的/tmp VOLUME /tmp # 将jar包添加到容器中并更名为zzyy_docker.jar ADD docker_boot-0.0.1-SNAPSHOT.jar zzyy_docker.jar # 运行jar包 RUN bash -c touch /zzyy_docker.jar ENTRYPOINT [java,-jar,/zzyy_docker.jar] #暴露6001端口作为微服务 EXPOSE 60017.1.9 构建镜像 docker build -t zzyy_docker:1.6 .7.2 不用Compose 7.2.1 单独的mysql容器实例 新建mysql容器实例 docker run -p 3306:3306 --name mysql57 --privilegedtrue -v /zzyyuse/mysql/conf:/etc/mysql/conf.d -v /zzyyuse/mysql/logs:/logs -v /zzyyuse/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD123456 -d mysql:5.7进入mysql容器实例并新建库db666新建表t_user docker exec -it mysql57 /bin/bash mysql -uroot -p create database db666; use db666; CREATE TABLE t_user (id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,username VARCHAR(50) NOT NULL DEFAULT COMMENT 用户名,password VARCHAR(50) NOT NULL DEFAULT COMMENT 密码,sex TINYINT(4) NOT NULL DEFAULT 0 COMMENT 性别 0女 1男 ,deleted TINYINT(4) UNSIGNED NOT NULL DEFAULT 0 COMMENT 删除标志默认0不删除1删除,update_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 更新时间,create_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 创建时间,PRIMARY KEY (id) ) ENGINEINNODB AUTO_INCREMENT1 DEFAULT CHARSETutf8mb4 COMMENT用户表; 7.2.2 单独的redis容器实例 docker run -p 6379:6379 --name redis608 --privilegedtrue -v /app/redis/redis.conf:/etc/redis/redis.conf -v /app/redis/data:/data -d redis:6.0.8 redis-server /etc/redis/redis.conf7.2.3 微服务工程 docker run -d -p 6001:6001 zzyy_docker:1.67.2.4 上面三个容器实例依次顺序启动成功 7.3 swagger测试 http://localhost:你的微服务端口/swagger-ui.html#/ 7.4 上面成功了有哪些问题? 先后顺序要求固定先mysqlredis才能微服务访问成功多个run命令…容器间的启停或宕机有可能导致IP地址对应的容器实例变化映射出错 要么生产IP写死(可以但是不推荐)要么通过服务调用 7.5 使用Compose 7.5.1 编写docker-compose.yml文件 version: 3services:microService:image: zzyy_docker:1.6container_name: ms01ports:- 6001:6001volumes:- /app/microService:/datanetworks: - alex_net depends_on: - redis- mysqlredis:image: redis:6.0.8ports:- 6379:6379volumes:- /app/redis/redis.conf:/etc/redis/redis.conf- /app/redis/data:/datanetworks: - alex_netcommand: redis-server /etc/redis/redis.confmysql:image: mysql:5.7environment:MYSQL_ROOT_PASSWORD: 123456MYSQL_ALLOW_EMPTY_PASSWORD: noMYSQL_DATABASE: db666MYSQL_USER: zzyyMYSQL_PASSWORD: zzyy123ports:- 3306:3306volumes:- /app/mysql/db:/var/lib/mysql- /app/mysql/conf/my.cnf:/etc/my.cnf- /app/mysql/init:/docker-entrypoint-initdb.dnetworks:- alex_netcommand: --default-authentication-pluginmysql_native_password #解决外部无法访问networks: alex_net: 7.5.2 第二次修改微服务工程docker_boot 7.5.2.1 写YML 通过服务名访问IP无关 server.port6001# alibaba.druid相关配置 spring.datasource.typecom.alibaba.druid.pool.DruidDataSource spring.datasource.driver-class-namecom.mysql.jdbc.Driver #spring.datasource.urljdbc:mysql://192.168.111.169:3306/db2021?useUnicodetruecharacterEncodingutf-8useSSLfalse spring.datasource.urljdbc:mysql://mysql:3306/db2021?useUnicodetruecharacterEncodingutf-8useSSLfalse spring.datasource.usernameroot spring.datasource.password123456 spring.datasource.druid.test-while-idlefalse# redis相关配置 spring.redis.database0 #spring.redis.host192.168.111.169 spring.redis.hostredis spring.redis.port6379 spring.redis.password spring.redis.lettuce.pool.max-active8 spring.redis.lettuce.pool.max-wait-1ms spring.redis.lettuce.pool.max-idle8 spring.redis.lettuce.pool.min-idle0# mybatis相关配置 mybatis.mapper-locationsclasspath:mapper/*.xml mybatis.type-aliases-packagecom.atguigu.docker.entities# swagger spring.swagger2.enabledtrue7.5.2.2 mvn package命令将微服务形成新的jar包 并上传到Linux服务器/mydocker目录下 7.5.2.3 编写Dockerfile # 基础镜像使用java FROM java:8 # 作者 MAINTAINER zzyy # VOLUME 指定临时文件目录为/tmp在主机/var/lib/docker目录下创建了一个临时文件并链接到容器的/tmp VOLUME /tmp # 将jar包添加到容器中并更名为zzyy_docker.jar ADD docker_boot-0.0.1-SNAPSHOT.jar zzyy_docker.jar # 运行jar包 RUN bash -c touch /zzyy_docker.jar ENTRYPOINT [java,-jar,/zzyy_docker.jar] #暴露6001端口作为微服务 EXPOSE 60017.5.2.4 构建镜像 docker build -t zzyy_docker:1.6 .7.5.3 执行 docker-compose up 或者 执行 docker-compose up -d 7.5.4 进入mysql容器实例并新建库db666新建表t_user docker exec -it 容器实例id /bin/bash mysql -uroot -p create database db666; use db666; CREATE TABLE t_user (id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,username VARCHAR(50) NOT NULL DEFAULT COMMENT 用户名,password VARCHAR(50) NOT NULL DEFAULT COMMENT 密码,sex TINYINT(4) NOT NULL DEFAULT 0 COMMENT 性别 0女 1男 ,deleted TINYINT(4) UNSIGNED NOT NULL DEFAULT 0 COMMENT 删除标志默认0不删除1删除,update_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 更新时间,create_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 创建时间,PRIMARY KEY (id) ) ENGINEINNODB AUTO_INCREMENT1 DEFAULT CHARSETutf8mb4 COMMENT用户表;7.5.5 测试通过 7.5.6 关停
http://www.w-s-a.com/news/853192/

相关文章:

  • 那种自行提取卡密的网站怎么做网站攻击
  • 洛阳免费网站建设qq是哪家公司开发的软件
  • 怎么做网站网页wordpress网址导航
  • 专业微信网站建设公司首选公司wordpress自动分类插件
  • 网站设计登录界面怎么做网站突然排名没了
  • wordpress 人物页面seo优化公司信
  • 高端网站建设报价网站建设需要硬件设备
  • 做国际物流在哪些网站找客户营销qq怎么申请
  • 网站做推广百度好还是360好科技厅
  • 网站开发工具排名万户网络建一个网站虽要多少钱
  • 用凡科做的网站要钱吗WordPress城市切换
  • 制作一个门户网站需要多少钱营销型网站特征
  • 手机网站 多html中国建设银行网站包头分行
  • 哪个网站做免费广告好招牌图片效果图设计制作
  • 网站建设优化服务机构苏州市做网站
  • 网站如何优化流程企业网站管理系统视频教程
  • 我想克隆个网站 怎么做贵州住房和城乡建设厅官网
  • 网站建设项目前景上海今天新闻综合频道
  • 做网站推销的如何谈客户wordpress怎么做商城
  • 摄影素材库网站服装页面设计的网站
  • 如何用国外网站做头条做个游戏app的费用大概多少
  • 网站 形象入口页福州网站建设网络公司排名
  • 免费下载教学设计的网站送网站建设管理信息内容审核制度
  • 外贸专业网站的公司百度旗下13个app
  • 物理组简介 网站建设高师院校语言类课程体系改革与建设 教学成果奖申报网站
  • 爱网站无法登录怎么回事手表网
  • 网站建设公司现在还挣钱吗山西手动网站建设推荐平台
  • 重庆建设工程交易信息网站网站制作公司起名
  • 东莞寮步做网站的有吗企业宣传册制作
  • 做网站的软件是哪个上蔡做网站