php中文网

Docker -v挂载失败导致容器无法启动怎么办?

php中文网

docker -v 挂载无法启动容器的排查

当在 docker 容器中使用 -v 参数挂载主机目录时,有时会出现无法启动容器的情况。本文将分析其原因并提供解决方案。

问题:-v 挂载后容器无法启动

错误症状通常表现为容器启动后立即退出,输出如下消息:

docker: error response from daemon: oci runtime create failed: setuid/setgid failed

解决方案:

出现此问题的原因是 -v 参数的位置不正确。正确的语法应该是将 -v 参数放在 docker 镜像名称之前,而不是之后。

例如,以下命令将导致无法启动容器:

docker run -it --rm -p 80:80 hello-php-demo:0.0.1 -v "$pwd/":/var/www/html /bin/bash

而正确的命令应该是:

docker run -it --rm -p 80:80 -v "$pwd/":/var/www/html hello-php-demo:0.0.1 /bin/bash

自动启动 apache:

可以将 apache 进程作为容器的入口点,使其在容器启动后自动启动。修改 dockerfile 中的最后一行如下:

entrypoint ["/usr/sbin/apache2ctl", "-d", "foreground"]

然后使用以下命令运行容器:

docker run -d -p 80:80 -v "$PWD/":/var/www/html hello-php-demo:0.0.1

以上就是Docker -v挂载失败导致容器无法启动怎么办?的详细内容,更多请关注php中文网其它相关文章!