docker - go dep 不在 docker-compose 上运行

标签 docker go docker-compose

我的问题是 docker-compose 总是返回:

golang_1 | bash: dep: 找不到命令

这是我的 docker-compose.yml :

    version: "3"

services:
  postgres:
    image: postgres
    environment:
      POSTGRES_USER: mini_api
      POSTGRES_PASSWORD: p4ssw0rd
      POSTGRES_DB: mini-api
    volumes:
      - ./db.sql:/docker-entrypoint-initdb.d/db.sql
    ports:
    - "5433:5432"

  golang:
    image: golang:1.11.0-stretch
    volumes:
      - ./:$GOPATH/src/github.com/bagusandrian/mini-api
    working_dir: $GOPATH/src/github.com/bagusandrian/mini-api
    links:
        - postgres
    ports: 
      - "8000:9090"
    command: bash -c "dep ensure -v && go build -v && ./mini-api"

我使用命令运行:docker-compose up 并始终返回:

golang_1    | bash: dep: command not found

我的 docker-compose.yml 中有任何错误或者我遗漏了什么吗?

您可以从我的仓库中提取:http://github.com/bagusandrian/mini-api

最佳答案

你需要先安装go dep。将此添加到您的图片中

RUN go get -u github.com/golang/dep/cmd/dep

或者到撰写文件:

command: >
    bash -c "go get -u github.com/golang/dep/cmd/dep
    && dep ensure -v && go build -v && ./mini-api"

关于docker - go dep 不在 docker-compose 上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52269117/

相关文章:

python - AWS 批处理 :/usr/local/bin/python: cannot execute binary file

docker - 工作人员无法连接到 AWS EC2 上的 Swarm

go - 如何关闭定时器 channel ?

json - 在没有未知格式结构的情况下执行模板

docker - Docker容器端口立即不可用

docker - 在 Alpine 容器中启用 crond

go - 我靠运气解决的Golang僵局,需要说明

perl - 为什么这个 docker-compose 命令失败,而 docker run 命令成功?

ruby-on-rails - 使用Docker-compose进行卷挂载的问题

docker - go docker sdk 从哪里获取?