zoukankan      html  css  js  c++  java
  • Docker学习笔记(三)Dockerfile命令及springboot项目构建

    一.Dockerfile常用命令

     

     

    二.Dockerfile构建sringboot项目并以非root用户运行镜像

    1.编写Dockerfile文件

    FROM openjdk:8
    ARG USER_ID=140
    ARG GROUP_ID=500
    RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
    && echo "Asia/Shanghai" > /etc/timezone
    RUN groupadd ftp
    RUN useradd -d /home/newuser -g ftp ftp
    RUN groupmod -g ${GROUP_ID} ftp
    RUN usermod -u ${USER_ID} ftp
    ADD wxrealtimerefund.jar /home/newuser/app.jar
    RUN chmod 777 /home/newuser/app.jar
    RUN mkdir -p /home/newuser/
    RUN chown -R ftp:ftp /home/newuser/
    VOLUME [/home/newuser]
    WORKDIR /home/newuser
    EXPOSE 8080
    USER ftp
    ENTRYPOINT ["java","-jar","/home/newuser/app.jar"]

    2.将springboot项目打包成jar包,上传到linux上。

     *Dockerfile最好新建一个新文件夹,不要放在根目录下,构建镜像的时候会把Dockerfile目录的所有下级目录上传,会很慢

    3.构建镜像

     docker build -t  refund06  .        --refund06  是构建的镜像名称   不要忘记后面.  这个.代表当前目录

    4.运行镜像

    docker run --name refund06 -p 8080:8080 -v /opt/project/online:/home/newuser/logs --add-host centos_1318:172.16.7.111  -d   refund06

    --add-host   向hosts文件添加域名映射

    --name       给容器起个名字

    -p           向外部暴露端口

    -d           以守护进程运行

    -v           将项目产生的日志目录挂载到宿主机目录,方便日志查看

    */opt/project/online这个目录提前在宿主机上创建并修改所有者和所属组,要不然镜像启动就会失败,报没有权限的错误

    cd /opt/project

    chown -R ftp:ftp online/

    chmod 777 -R online/

    5.通过docker ps 查看启动的容器

  • 相关阅读:
    正则表达式大全
    函数基础(二)
    函数基础(一)
    bzoj3531 [Sdoi2014]旅行
    bzoj4785 [Zjoi2017]树状数组
    bzoj4568 [Scoi2016]幸运数字
    bzoj1975 [Sdoi2010]魔法猪学院
    bzoj1079 [SCOI2008]着色方案
    bzoj1996 [Hnoi2010]chorus 合唱队
    bzoj2326 [HNOI2011]数学作业
  • 原文地址:https://www.cnblogs.com/wiliamzhao/p/13608302.html
Copyright © 2011-2022 走看看