dockerFile 构建Java 项目

  • java项目打包
  • 或者可以在目录下使用命令打包
  • 在项目跟目录下面进行打包
  • mvn clean package -Dmaven.test.skip=true

    服务器部署

  1. 创建上传jar包的路径   mkdir -p ./工作目录/jar 
  2. 在工作目录下面写DockerFile文件 
  3. touch dockerfile
  4. # 基础镜像
    FROM  openjdk:8-jre
    # author
    MAINTAINER nhl
    
    # 挂载目录
    VOLUME /home/nhl/nhl
    # 创建目录
    RUN mkdir -p /home/nhl/nhl
    # 指定工作目录
    WORKDIR /home/nhl/nhl
    # 复制jar包到路径
    COPY ./jar/back.jar /home/nhl/nhl/back.jar
    # 复制启动脚本到路径
    COPY ./start.sh /home/nhl/nhl/start.sh
    # 赋予启动脚本执行权限
    RUN chmod +x /home/nhl/nhl/start.sh 
    # 定义启动命令
    CMD ["/home/nhl/nhl/start.sh"]

 在工作目录下面创建运行jar包命令

touch start.sh

# 创建日志目录
mkdir -p ./logs
# 执行命令并将输出重定向到日志文件
java -jar back.jar --server.port=9090 > ./logs/back.log 2>&1

构建docker 容器镜像

 docker build -t nhl-back-project:v1 .
  • docker build: 运行Docker命令来构建镜像
  • -t nhl-back-project:v1: 指定构建的镜像的名称为"nhl-back-project",版本号为"v1"
  • :指定Dockerfile所在的路径为当前目录,表示在当前目录下查找Dockerfile来构建镜像
  • 查看容器是不是构建成功命令
  • docker  images 

在工作目录下面创建  logs文件文件夹 并且创建 back.log 文件

mkdir -p ./logs
touch  ./logs/back.log

然后启动容器

docker run -p 9093:9093 \
--name nhl-back \
--restart=always \
-v ./logs/back.log:/home/nhl/nhl/logs/back.log  \
-d 498d3351fcba:v1 
  • docker run: 运行Docker命令来创建并运行一个容器实例
  • -p 9093:9093: 将容器的端口9093映射到主机的端口9093,允许外部访问容器的应用程序
  • --name nhl-back: 指定容器的名称为"nhl-back"
  • --restart=always: 设置容器总是在Docker守护程序重新启动时重新启动
  • -v ./logs/back.log:/home/nhl/nhl/logs/back.log: 将主机上的./logs/back.log文件挂载到容器内的/home/nhl/nhl/logs/back.log路径,实现主机和容器之间的文件共享
  • -d: 在后台模式下运行容器
  • 498d3351fcba:v1: 指定要运行的镜像的名称和版本号

 查看容器是否启动

docker ps 

日志查看

  • 6
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值