这篇“docker compose启动docker文件挂载失败如何解决”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“docker compose启动docker文件挂载失败如何解决”文章吧。
docker-compose启动docker文件挂载失败
学习了下elk,启动服务使用docker-compose启动,也是各种启动失败,记录下问题,以后好查验
启动es报错
Caused by: java.nio.file.AccessDeniedException: /usr/share/elasticsearch/data/nodes
看错误是文件目录无权限,实际是因为挂载的宿主机目录无权限导致,使用命令赋权
chmod 777 挂载目录
ps:如果问题没有解决,看这里
docker-compose版本与docker版本兼容问题,百度搜索docker-compose与docker版本兼容,弄好应该就可以了
pps:如果问题还没有解决,继续看
卡了好几天,最终发现文件夹使用chmod 777命令后,linux权限是这样子的,多了一个“.”
百度下selinux关闭操作。
完了,可是es启动好了,我太难了
运行docker-compose up 提示挂载volumes出错的问题
项目场景
docker-compose 运行本地开发环境
问题描述
之前用的好好的,今天突然发现docker-compose始终起不来,提示挂载的volumes有问题,如下图
很纳闷,也没改啥,怎么就突然报错了??
挂载方式如下:
volumes: - ./backend/docker/xdebug.ini:/usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
原因分析
于是我回忆了下今天干了啥。。。
1、发现win10激活到期了,下载激活软件激活下
2、激活期间关闭了杀毒软件,然后发现内存爆满,软件奔溃,怀疑可能下载的软件含恶意病毒,打开杀毒软件全盘杀了下毒
3、重启电脑
然后就发现docker-compose up -d 报错。
起初怀疑是不是杀毒软件误删了什么系统文件导致,后来分析容器没启动的服务发现一个共同点就是它们都是挂载了volumes的。然后就怀疑是挂载有问题,后来检查了docker for windows客户端的配置发现c盘没勾选,勾选了点apply又被自动取消。到此初步找到了原因。
解决方案
为什么会这样?查了下果然跟win10激活有关,说是系统安全策略被改了。
就这个玩意儿,改成经典就好了。
具体打开方式:
win+R 输入 secpol.msc 确定