![](/img/trans.png)
[英]Docker On Mac - OCI runtime create failed: mkdir permission denied
[英]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/
,但这也不起作用。 有人知道问题出在哪里吗?
我删除了旧容器并添加了一个新容器并且可以正常工作。
docker-machine remove [old]
docker-machine create [new]
eval $(docker-machine env [new])
docker-compose up
当我在Ubuntu 18.04上处理Rails应用程序时,我遇到了类似的问题。 我有一个Dockerfile
和docker-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.