【Docker】实战-创新互联

Docker项目中应用

如何构建一个应用镜像,我们通常需要使用到Dockerfile,Dockerfile好比一个执行脚本,通过指令的形式,将所需要的环境等官方镜像进行构建形成一个新的镜像层。

成都创新互联公司专注骨干网络服务器租用10余年,服务更有保障!服务器租用,成都IDC机房托管 成都服务器租用,成都服务器托管,骨干网络带宽,享受低延迟,高速访问。灵活、实现低成本的共享或公网数据中心高速带宽的专属高性能服务器。

在这里插入图片描述

1.指令
FROM :  基础镜像,从这里开始构建,一搬会从在这选择操作系统的类型

MAINTAINER  : 创建者

RUN : 构建镜像时需要运行的程序或者应用

ADD: 添加文件或者压缩包(tar会自动解压)

WORKDIR : 镜像挂载操作

VOLUME : 镜像挂载卷目录

EXPOST : 暴露的端口

CMD : 指定这个容器启动的时候要运行的命令,只有一个生效	

ENTRYPOINT :指定这个容器启动的时候要运行的命令,可存在多个命令

COPY : 好比ADD,将文件拷贝进镜像中

ENV : 镜像构建时设置的环境变量
2.测试

首先编写一个SpringBoot应用程序,Redis进行存储数据,通过MVC控制层访问/hello来统计访问人数,如下是代码结构

controller.java

@RestController
public class CounterController {@Autowired
    RedisTemplate redisTemplate;

    @GetMapping("/hello")
    public String count(){Long increment = redisTemplate.opsForValue().increment("count-people");
        return "有:【"+increment+"】人访问了这个页面";
    }
}

application.properties

server.port=8090
spring.redis.host=127.0.0.1
spring.redis.port=6379
spring.redis.password=qwe123

编写Dockerfile

备注:由于我使用的是外部服务器的Redis,所以容器内部就无需使用redis,如无需使用外部Redis,那么容器内需引入Redis镜像,通过ADD方式加入

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

COPY target/*.jar /app.jar

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

maven打包后的压缩包和dockerfile打包上传至服务器

-target
	--dockerTest.jar
--Dockerfile

运行命令

docker build -t java-demo:v1.0 

#docker build -f dockerfile文件路径  -t 镜像名:[tag]版本号

构建成功

Successfully built 29f15645bc0b
Successfully tagged java-demo:v1.0

运行镜像,创建容器

docker run  -d --name java-demo java-demo:v1.0 -p 88:8090

访问接口地址,服务器ip:端口(8090)/hello

在这里插入图片描述

至此,我们通过创建一个java应用并上传至服务器,服务器无需配置jdk环境,也可以完成java应用的部署和运行。同时,我们还可以将我们创建好的镜像,上传至docker hub镜像仓库中,供别人拉取并使用。

//设置镜像标签,后续镜像名为josne/java-demo ,版本号Tag 为v1.0

docker tag java-demo:v1.0   josne/java-demo:v1.0    

上传docker hub镜像仓库

docker push josne/java-demo:v1.0      

上传成功后,就可以在自己的docker仓库找到

在这里插入图片描述

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


标题名称:【Docker】实战-创新互联
新闻来源:http://myzitong.com/article/gehji.html