为了以后吹牛逼,
采用jdk8+centos镜像 =>jdk镜像
把jar包扔进持久化文件里

另附配套前端安装

1 下载centos

下载指定centos镜像
docker pull centos:centos7
最新的版本docker pull centos
报错 unauthorized: authentication required
是阿里云镜像,需要登录凭证

两百兆的系统 不可思议
在这里插入图片描述

2 下载jdk

就是下个linux版jdk8 传到服务器/home/docker/jdk

# 路径
cd /home/docker/jdk
# 解压
tar  -zxvf jdk-8u291-linux-x64.tar.gz 

编写Dockerfile 文件

命令vi Dockerfile创建Dockerfile文件(该文件必须和jdk在同一目录)

路径一定要对好, 以及解压后的文件夹jdk1.8.0_291 看自己的名字改正

#依赖的基础为centos 系统
FROM centos
# 作者
MAINTAINER root
# 创建并检查文件夹-没有也会自动创建
RUN mkdir /usr/local/jdk
WORKDIR /usr/local/jdk
# 上传jar包 后面的路径为jar包位于容器的路径, 容器内压缩包会自动解压
ADD jdk-8u291-linux-x64.tar.gz /usr/local/jdk
# 也可以上传自己的包 包和Dockerfile在同一文件夹
# ADD xxx.jar /home
# 环境变量 根目录为jar包所在目录 即/usr/local/jdk
ENV JAVA_HOME /usr/local/jdk/jdk1.8.0_291
ENV JRE_HOME /usr/local/jdk/jdk1.8.0_291/jre
ENV CLASSPATH .:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
ENV PATH $JAVA_HOME/bin:$PATH 
jdk17 配置文件<有变动>
#依赖的基础为centos 系统
FROM centos
# 作者
MAINTAINER root
# 创建并检查文件夹-没有也会自动创建
RUN mkdir /usr/local/jdk
WORKDIR /usr/local/jdk
# 上传jar包 后面的路径为jar包位于容器的路径, 容器内压缩包会自动解压
ADD jdk-17_linux-x64_bin.tar.gz /usr/local/jdk
# 也可以上传自己的包 包和Dockerfile在同一文件夹
# ADD xxx.jar /home
# 环境变量 根目录为jar包所在目录 即/usr/local/jdk
ENV JAVA_HOME /usr/local/jdk/jdk-17.0.2
ENV CLASSPATH .:$JAVA_HOME/lib:$CLASSPATH
ENV PATH $JAVA_HOME/bin:$PATH 

构建镜像

在 Dockerfile文件目录执行

# jdk8 为镜像名字
docker build -t jdk8 . -f Dockerfile


在这里插入图片描述

构建容器

# 测试
docker run -d --restart=always --name test-jdk -p 8081:8080 -it jdk8 /bin/bash
# 进入
docker exec -it test-jdk bash
# 测试
java -version

成功
在这里插入图片描述

运行若依

docker run -d --restart=always -v /home/docker/ruoyi/jar:/jar -p 8081:8080 --name ruoyi jdk8 java -jar -Duser.timezone=GMT+08 /jar/ruoyi-admin.jar
-d #后台运行
--restart=always #开机启动
-v /home/docker/ruoyi/jar:/jar  #宿主机  /home/docker/ruoyi/jar 下的jar映射到容器/jar下
-p 8081:8080 #将容器的8080映射到宿主机的8081,开放宿主机8081端口
--name ruoyi #容器名字ruoyi
jdk8 #上面的镜像名
java -jar -Duser.timezone=GMT+08 /jar/ruoyi-admin.jar #启动jar包

以后替换宿主机的jar重启容器docker restart ruoyi即可
在这里插入图片描述

查看日志的几个方式:

(1)docker logs --tail=1000 容器名称 (查看容器前多少行的日志)(推荐)

(2)docker 容器启动后,可以进入以下位置查看日志(/var/lib/docker/containers/容器ID/容器ID-json.log)(进入容器内部查看日志)

(3)#查看compose所有容器的运行日志

docker-compose -f docker-compose-app.yml logs -f

(4)#查看compose下某个容器的运行日志

docker-compose -f docker-compose-app. yml logs -f<服务名>

(5)# 也可以把compose的容器日志输出到日志文件里去,然后用tail -f随时查看

docker-compose -f docker-compose-app. yml logs -f >> myDockerCompose.log & 
Logo

快速构建 Web 应用程序

更多推荐