如何解决运行 docker-compose golang postgres 时出错
api.dockerfile
FROM golang:1.13-alpine
ENV GO111MODULE='on'
ARG POSTGRES_DB
ARG POSTGRES_USER
ARG POSTGRES_PASSWORD
ARG POSTGRES_PORT
ENV POSTGRES_DB $POSTGRES_DB
ENV POSTGRES_USER $POSTGRES_USER
ENV POSTGRES_PASSWORD $POSTGRES_PASSWORD
ENV POSTGRES_PORT $POSTGRES_PORT
workdir /go/app
copY go.mod .
copY go.sum .
RUN go mod download
copY . /go/app
RUN go build -o ./bin/api .
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build
ENTRYPOINT [ "./bin/api" ]
db.dockerfile
FROM postgres:12-alpine
ENV LANG ja_JP.utf8
ARG POSTGRES_DB
ARG POSTGRES_USER
ARG POSTGRES_PASSWORD
ARG POSTGRES_HOST
ENV POSTGRES_DB $POSTGRES_DB
ENV POSTGRES_USER $POSTGRES_USER
ENV POSTGRES_PASSWORD $POSTGRES_PASSWORD
ENV POSTGRES_HOST $POSTGRES_HOST
workdir /docker-entrypoint-initdb.d
copY ./db .
RUN apk --no-cache update \
&& cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
docker-compose
version: '3'
services:
api:
container_name: api
build:
context: .
dockerfile: api.dockerfile
args:
- POSTGRES_DB=$POSTGRES_DB
- POSTGRES_USER=$POSTGRES_USER
- POSTGRES_PASSWORD=$POSTGRES_PASSWORD
- POSTGRES_PORT=$POSTGRES_PORT
depends_on:
- db
tty: true
volumes:
- ./api:/go/app
db:
container_name: db
build:
context: .
dockerfile: db.dockerfile
args:
- POSTGRES_DB=$POSTGRES_DB
- POSTGRES_USER=$POSTGRES_USER
- POSTGRES_PASSWORD=$POSTGRES_PASSWORD
volumes:
- ./db/docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d
- 当我启动 docker-compose -d uP*
错误 错误:对于 api 无法启动服务 api:OCI 运行时创建失败:container_linux.go:370:> 启动容器进程导致:exec:“./bin/api”:stat ./bin/api:没有这样的文件或> 目录:未知 错误:启动项目时遇到错误。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。