问题描述
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 (将#修改为@)