docker-compose的问题
来源:7-4 docker-compose命令行基本使用

无谓1024
2021-10-26
在使用Dockerfile进行多阶段构建制作镜像后,再使用docker-compose编写yml文件启动,容器是成功的开启了。
,但是把Dockerfile的编译操作写入yml文件,build成功也up成功。但容器启动失败了,日志是提示找不到启动文件。
一:Dockerfile内容
#build stage
FROM golang:1.15.6-alpine3.13 AS builder
# RUN apk add --no-cache git
WORKDIR /go/src/app
COPY . /go/src/app
RUN go env -w GOPROXY="https://goproxy.cn,direct" && go env -w GO111MODULE="on" && go get -d -v -u ./...
RUN go build -o /go/bin/AI_PREDICT
#final stage
FROM alpine:latest
# RUN apk --no-cache add ca-certificates
# RUN mkdir /lib64 && ln -s /lib/libc.musl-x86_64.so.1 /lib64/ld-linux-x86-64.so.2
WORKDIR /app
COPY --from=builder /go/src/app/conf /app/conf
COPY --from=builder /go/src/app/data/httpresource /app/data/httpresource
COPY --from=builder /go/bin/AI_PREDICT /app/
ENTRYPOINT /app/AI_PREDICT
CMD []
EXPOSE 56666
LABEL Name=servicego Version=0.0.1
二:docker-compose.yml
version: '3.8'
services:
mysql:
container_name: mysql_server
image: mysql
environment:
MYSQL_ROOT_PASSWORD: 123456
volumes:
- "/var/lib/docker/volumes/mysql_data/_data:/var/lib/mysql"
# - type: volume
# source: mysql_data
# target: /var/lib/mysql
networks:
- ai_net
redis:
container_name: redis_server
image: redis
volumes:
- type: volume
source: redis_data
target: /data
networks:
- ai_net
web:
container_name: ai_predict
build:
context: .
dockerfile: Dockerfile
network: host
# image: service_go_web
volumes:
- type: volume
source: ai_predist_data
target: /app
networks:
- ai_net
ports:
- "56666:56666"
networks:
ai_net:
volumes:
ai_predist_data:
redis_data:
# mysql_data:
写回答
1回答
-
麦兜搞IT
2021-10-28
您好,我建议你手动的利用你这个image去创建一个container,比如运行bash,进入到它的shell里,然后检查你的go build出来的bin文件是否在,是否可以运行等等。
10
相似问题