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文件

    FROM  java: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镜像并启动_第1张图片

  • 构建镜像

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

    dockerfile 构建springboot镜像并启动_第2张图片

  • 运行镜像

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

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

你可能感兴趣的:(docker)