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中文网其它相关文章!
版权声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系 yyfuon@163.com