dockerfile 构建springboot镜像并启动

1. dockerfile 构建镜像步骤

  • 编写dockerfile文件
  • docker build 构建出镜像
  • docker run 运行镜像
  • docker push 发布镜像
2. dockerfile 语法
FROM# 从哪个基础镜像开始构建 MAINTAINER# 镜像作者 RUN# 构建镜像需要运行的命令 ADD# 将文件从路径 复制添加到容器路径 WORKDIR # 切换工作目录,docker默认工作目录是 / VOLUME# 挂载的目录,一般用来存放需要保持的数据 EXPOSE# 容器暴露的端口 CMD# 容器启动运行的命令,有多个的话,只有最后一个生效 ENTRYPOINT# 容器启动运行的命令,可以追加 ONBUILD# 让指令延迟执行,延迟到下一个使用FROM的dockerfile建立image时执行,只延迟一次 COPY# 与ADD作用相同,不过ADD会解压文件 ENV# 构建的时候设置环境变量

3. dockerfile 构建与运行springboot镜像
  • 【dockerfile 构建springboot镜像并启动】创建Dockerfile文件
    FROMjava:8# 以java8镜像作为基础镜像 MAINTAINER zhijiuqian# 作者 WORKDIR app# 指定容器内运行命令的工作目录 ADD iflytek-monitor-0.0.1-SNAPSHOT.jar app.jar# 将jar包拷贝到镜像中,命名为app.jar EXPOSE 7777# 暴露容器端口为7777,iflytek-monitor-0.0.1-SNAPSHOT.jar应用的启动端口也是7777 ENTRYPOINT ["java","-jar","app.jar"] # 启动命令

  • 将Dockerfile 与 iflytek-monitor-0.0.1-SNAPSHOT.jar 都上传到服务器同一目录
    dockerfile 构建springboot镜像并启动
    文章图片

  • 构建镜像
    docker build -t iflytek-monitor:v1.0 . # 注意后面有个点;如果Dockerfile 不在当前目录,可用 -f指定路径;

  • docker ps -a 查看镜像
    dockerfile 构建springboot镜像并启动
    文章图片

  • 运行镜像
    docker run -d -p 7777:7777 iflytek-monitor:v1.0 # 注意打开服务器安全组的7777端口

    本地通过浏览器访问服务器ip:7777就能看到docker启动的springboot 应用啦~

    推荐阅读