一 docker-file将jar包发布成容器服务
1.1 docker的安装
[root@localhost ~]# uname -r
3.10.0-862.el7.x86_64
[root@localhost ~]# yum install docker
[root@localhost export]# systemctl start docker
[root@localhost export]# docker -v
Docker version 1.13.1, build 7d71120/1.13.1
[root@localhost export]# systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
Active: active (running) since Tue 2023-07-04 21:51:08 CST; 52s ago
1.2 主备java的jar包
1.主备的jar包
2.访问接口
1.3 将jar包上传
1.上传jar包
1.4 编写dockerfile文件
1.将dockerfile文件和微服务jar包放到同一目录下,进行操作
2.编辑内容
#基础镜像使用java
#FROM java:8
FROM openjdk:8
#作者
MAINTAINER ljf
#volume 制定临时文件目录为/tmp,
VOLUME /tmp
#将jar包添加到容器中并更名为spt-docker。jar
ADD 01-spt-hello-world-1.0-SNAPSHOT.jar spt-docker.jar
#运行jar包
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","spt-docker.jar"]
#暴露端口8080作为微服务
EXPOSE 8080
1.5构建镜像
[root@localhost dockertest]# docker build -f docker-app -t spt-docker-master:1.6 .
说明: -f docker-app 为dockerfile的文件名
-t spt-docker-master:1.6 为镜像名称
查看镜像
1.6 运行容器
[root@localhost dockertest]# docker run -id --name=c11 -p 8080:8080 spt-docker-master:1.6
14e0070ee163702746e1a4997fa2c86126207cc95ec1a7143474b3b3fb171e16
[root@localhost dockertest]# pwd
/root/export/dockertest
说明:这里spt-docker-master:1.6 为镜像名称
查看容器:
1.7 进入容器
[root@localhost dockertest]# docker exec -it c11 /bin/bash
root@14e0070ee163:/# java -version
openjdk version "1.8.0_342"
OpenJDK Runtime Environment (build 1.8.0_342-b07)
OpenJDK 64-Bit Server VM (build 25.342-b07, mixed mode)
root@14e0070ee163:/# ps -ef|grep java
root 1 0 10 07:10 ? 00:00:08 java -Djava.security.egd=file:/dev/./urandom -jar spt-docker.jar
root 51 35 0 07:11 ? 00:00:00 grep java
root@14e0070ee163:/# quit;
1.8 关闭防火墙
[root@localhost dockertest]# systemctl stop firewalld
1.9 访问测试
1.查看ip
2.进行访问