关于docker:dockerfile-构建springboot镜像并启动

237次阅读

共计 930 个字符,预计需要花费 3 分钟才能阅读完成。

1. dockerfile 构建镜像步骤

  • 编写 dockerfile 文件
  • docker build 构建出镜像
  • docker run 运行镜像
  • docker push 公布镜像

2. dockerfile 语法

FROM    # 从哪个根底镜像开始构建
MAINTAINER  # 镜像作者
RUN    # 构建镜像须要运行的命令
ADD        # 将文件从门路 <src> 复制增加到容器门路 <dest>
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 都上传到服务器同一目录

  • 构建镜像

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

  • 运行镜像

    docker run -d -p 7777:7777 iflytek-monitor:v1.0 # 留神关上服务器平安组的 7777 端口 

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

正文完
 0