docker——发布一个应用程序

docker——发布一个java应用程序

一、安装docker

使用docker之前,需要在物理机上安装docker。安装过程可参考docker官网,安装完成之后,运行docker。不同的操作系统,docker的安装和启动不同。

二、待发布的java程序说明

需要发布的java服务目录结构如下:

docker-test/
    |-bin/
    |  |-server.sh
    |-etc/
    |  |-config.edn
    |  |-logback.xml
    |-target/
    |  |-docker-test.jar
    |  |-docker-test-standalone.jar
    |-Dockerfile
Dockerfile

Dockerfile用来定义一个docker容器(container)的运行环境。

# 指定基础镜像openjdk8,用于运行java程序。
FROM openjdk:8
# 指定容器内的工作目录
WORKDIR /app/
# 将Dockerfile所在目录(docker-test)的bin目录复制到容器内(/app/bin/)
COPY bin bin
# 将docker-test目录下的etc目录复制到容器内(/app/etc/)
COPY etc etc
# 将target下以standalone.jar结尾的jar包复制到容器内的lib目录下(/app/lib/docker-test-standalone.jar).
COPY target/*standalone.jar lib/
# 将docker容器内的lib目录下的jar包名字写入到lib.txt(/app/lib.txt)
RUN ls lib/ > lib.txt
# 在docker容器内新建logs目录(/app/logs/)
RUN mkdir logs
# 将物理机时间时区挂在到容器中,这样容器时间与物理机系统时间一致
RUN ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
server.sh

server.sh为java服务启动脚本,内容如下:

#!/bin/bash
## java服务启动日志记录文件在容器内的路径
LOGFILE=/app/logs/start.log
## 进入容器内的bin目录
cd /app/bin
## 从/app/lib.txt文件中读取要运行的jar文件。
JAR=$(cat ../lib.txt)
## 运行程序
java 
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值