繁体   English   中英

Docker:无法启动服务应用程序:OCI 运行时创建失败:

[英]Docker: Cannot start service app: OCI runtime create failed:

不幸的是,将我的 Mac 更新到Catalina后,我得到了错误:

ERROR: for app Cannot start service app: OCI runtime create failed: container_linux.go:345: starting container process caused "process_linux.go:430: container init caused \"rootfs_linux.go:58: mounting \\\"/Users/maciejtrzcinski/Sites/docker/openinvest/config/apache/.htaccess\\\" to rootfs \\\"/mnt/sda1/var/lib/docker/overlay2/a088def6294f3c190633026f8d28b68bc6a6eb5cbca33f2dcf7272d716a54ba5/merged\\\" at \\\"/mnt/sda1/var/lib/docker/overlay2/a088def6294f3c190633026f8d28b68bc6a6eb5cbca33f2dcf7272d716a54ba5/merged/var/www/html/.htaccess\\\" caused \\\"not a directory\\\"\"": unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type

YML 文件:

version: "3"

services:
  app:
    image: wordpress:5.1.1-php7.2
    depends_on:
      - mariadb
    env_file:
      - .env
    volumes:
      - ./log/apache2:/var/log/apache2
      - ./config/apache/.apache:/var/www/html/.apache
      - ./wp-content:/var/www/html/wp-content
    ports:
      - 80:80
  mariadb:
    image: mariadb:10
    volumes:
      - ./data/mariadb:/var/lib
    ports:
      - 3306:3306
    environment:
      MYSQL_ROOT_PASSWORD: ${WORDPRESS_DB_PASSWORD}
      MYSQL_DATABASE: ${WORDPRESS_DB_NAME}
      MYSQL_USER: ${WORDPRESS_DB_USER}
      MYSQL_PASSWORD: ${WORDPRESS_DB_PASSWORD}

我正在尝试使用-./config/apache/:/var/www/html/ ,但这也不起作用。 有人知道问题出在哪里吗?

我删除了旧容器并添加了一个新容器并且可以正常工作。

  1. docker-machine remove [old]
  2. docker-machine create [new]
  3. eval $(docker-machine env [new])
  4. docker-compose up

当我在Ubuntu 18.04上处理Rails应用程序时,我遇到了类似的问题。 我有一个Dockerfiledocker-compose.yml的应用程序设置。

这是我得到的错误

我之前使用docker-compose build了映像,所以我不再运行docker-compose build ,但是,当我运行命令docker-compose up启动容器时,我收到此错误:

错误:对于 mailing_list_app_1 无法启动服务应用程序:OCI 运行时创建失败:container_linux.go:349:启动容器进程导致“exec:\”./entrypoints/rails-entrypoint.sh\”:stat./entrypoints/rails-entrypoint。 sh:没有这样的文件或目录”:未知

错误:对于应用程序无法启动服务应用程序:OCI 运行时创建失败:container_linux.go:349:启动容器进程导致“exec:\”./entrypoints/rails-entrypoint.sh\”:stat./entrypoints/rails-entrypoint。 sh:没有这样的文件或目录”:未知错误:启动项目时遇到错误。

问题是我将文件/entrypoints/rails-entrypoint.sh移动并重命名为 docker docker/entrypoints/docker-entrypoint.sh

因此,当我运行命令docker-compose up来启动容器时,它会失败,因为它无法再找到/entrypoints/rails-entrypoint.sh文件。

这是我解决它的方法

通过运行命令为项目重建映像。 这会将文件 ( docker/entrypoints/docker-entrypoint.sh ) 复制到新映像中,并删除指向文件 ( /entrypoints/rails-entrypoint.sh ) 的链接:

docker-compose build

然后使用新建的镜像再次启动容器:

docker-compose up

就这样。

我希望这有帮助

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM