zoukankan      html  css  js  c++  java
  • dockerfile 使用 entrypoint,导致 docker 无法正确挂载的问题

    一开始 Dockerfile 如下:

    FROM golang:latest
    
    WORKDIR $GOPATH/src/hellodocker
    COPY . .
    RUN go build .
    EXPOSE 88 ENTRYPOINT ["./hellodocker"]

    运行 docker run -d -v /home/hellodocker:/go/src/hellodocker -p 88:88 hellodocker,报错:

    Error response from daemon: oci runtime error: exec: "./hellodocker": stat ./hellodocker: no such file or directory

    分析原因: 运行容器挂载目录的时候,hellodocker.exe还没有编译生成,但是会去检查
    ENTRYPOINT 入口文件,不存在就报错了

    修改 Dockerfile 如下:
    WORKDIR $GOPATH/src/hellodocker
    ADD . $GOPATH/src/hellodocker
    # RUN go build .
    
    EXPOSE 88
    CMD ["/bin/bash", "build.sh"] # ENTRYPOINT ["./hellodocker"]

      其中 build.sh 如下:

    #!/usr/bin/env bash
    cd /go/src/hellodocker && go build . && ./hellodocker
    

    问题解决




  • 相关阅读:
    Node 基本配置
    python GIL锁
    大数据 Zookeeper 集群
    大数据 Hadoop HA
    python 内置方法使用
    Linux Curl使用
    Linux 文件解压缩
    大数据 Hadoop 常见端口
    大数据 Hadoop 集群安装
    css结构设计思想
  • 原文地址:https://www.cnblogs.com/3teeth/p/8962494.html
Copyright © 2011-2022 走看看