其他分享
首页 > 其他分享> > 云原生学习(二)之容器化进阶

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

作者:互联网

创建一个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