我搜索了这个错误,但在线程上给出的解决方案不起作用 Cannot start any docker container with "oci runtime error"
所以我使用的是 MacOS,并且多次升级并重新启动了 docker 服务。
这是我的 Dockerfile
FROM openjdk:alpine
RUN apk add --no-cache wget su-exec bash
RUN wget -qO- https://repo1.maven.org/maven2/org/flywaydb/flyway-commandline/7.3.2/flyway-commandline-7.3.2-linux-x64.tar.gz | tar xvz && su-exec sh ln -s `pwd`/flyway-7.3.2/flyway /usr/local/bin
RUN ln -sf /usr/bin/java /flyway-7.3.2/jre/bin
RUN mv /flyway-7.3.2/conf/flyway.conf /flyway-7.3.2/conf/flyway.conf.orig
COPY ./flyway.conf /flyway-7.3.2/conf/flyway.conf
CMD [ "/flyway-7.3.2/flyway migrate" ]
这是我在 docker-compose.yml
flyway:
build: flyway
container_name: flyway
volumes:
- ./flyway/migrations:/migrations
links:
- db
depends_on:
db:
condition: service_healthy
但是当我说 docker-compose up
时,几乎所有容器都会出错
Creating flyway ... error
ERROR: for flyway Cannot start service flyway: OCI runtime create failed: container_linux.go:370: starting container process caused: exec: "/flyway-7.3.2/flyway migrate": stat /flyway-7.3.2/flyway migrate: no such file or directory: unknown
答案 0 :(得分:1)
OCI 消息只是 Alpine 报告错误的方式的一部分。但您的实际错误在 CMD 行中。
您的语法不正确。要么删除 []
,要么添加@jakub 指出的逗号。