• 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 查看启动的容器

  • 相关阅读:
    匿名方法
    C# 正则表达式
    c# 预处理命令
    反射
    特性(attribute)
    c# 交换两个变量
    构造函数
    泛型
    Event事件
    委托
  • 原文地址:https://www.cnblogs.com/wiliamzhao/p/13608302.html
Copyright © 2020-2023  润新知