ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

云原生学习(二)之容器化进阶

2022-06-26 01:00:20  阅读:139  来源: 互联网

标签:原生 容器 java 进阶 demo redis v1.0 docker data


创建一个java项目

一个普通的springboot项目就行了

部署redis

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

#自定义
docker run --name redis -p 6379:6379 -v /data:/data -d redis

#redis使用自定义配置文件启动
docker run --name redis -p 6379:6379 -v /data/redis/redis.conf:/etc/redis/redis.conf  -v /data/redis/data:/data  -d    redis:latest  redis-server /etc/redis/redis.conf 
注意;将daemonize yes注释起来或者daemonize no,因为该配置和docker run中-d参数冲突会导致容器一直启动失败

#修改配置文件
vim /etc/redis/redis.conf
#查看
docker ps
#重启redis实列
docker restart
#查询当前容器:
docker container ls -all
#删除当前容器:
docker container rm mycentos

统计访问实列场景 

 引入pom.xml依赖

     <!-- redis -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>

配置文件

spring.redis.host=localhost
spring.redis.password=root

controller

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class CountController {
    @Autowired
    StringRedisTemplate redisTemplate;
//private int i=0;
@GetMapping("/hello")
    public String count(){
    Long aLong = redisTemplate.opsForValue().increment("count-people");
    return "有["+ aLong +"]人访问次页面";
    //  return "有["+ i++ +"]人访问次页面";
}
} 

将应用打包成为一个镜像

以前
java为例
SpringBoot打包为jar
把jar上传给服务
服务器运行java jar

现在
所有的机器都安装Docker、任何镜像都是镜像、所有机器都可以运行

通过Dockerfile进行打包

Dockerfile内容

FROM  openjdk:8-jdk-slim
LABEL maintainer=zhangyongyuan

COPY target/*.jar /app.jar

ENTRYPOINT ["java","-jar","/app.jar"]

把target和Dockerfile上传到服务器中

#进入目录
cd a
#构建
docker build -t java-demo:v1.0 -f Dockerfile .
docker build -t java-demo:v1.0 .
#启动
docker run -d -p 8080:8080 java-demo:v1.0
#查看
docker ps
#打印日志
docker logs 容器id

  

应用分享和启动

#登录docker hub
docker login

#给旧镜像起码
docker tag java-demo:v1.0 zhangyongyuan/java-demo:v1.0

推送到docker hub
docker push zhangyongyuan/java-demo:v1.0

#别的机器拉取
docker pull zhangyongyuan/java-demo:v1.0

#别的机器运行
docker run -d -p 8080:8080 --name myjava-app java-demo:v1.0

  

 

 

 

 

 

  

标签:原生,容器,java,进阶,demo,redis,v1.0,docker,data
来源: https://www.cnblogs.com/aimangguo/p/16412374.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有