随着在项目中运用spingcloud,微服务原来越多,部署的时候采用docker部署的次数也越来越多
其中遇到最大的问题,就是映射目录的时候,有时候总是出错
比如如下命令
运行命令
docker run --name service-syncfile2 -d -p 8766:8766 -v
/home/docker/service-syncfile/service-sync-crmFileToKf-0.0.1-
.jar:/service-sync-crmFileToKf-0.0.1-SNAPSHOT.jar -v
/home/picture/:/home/picture --privileged=true -e tZ="Asia/Shanghai"
service-syncfile:v1
将宿主机目录/home/docker/service-syncfile/目录下的service-syncfile/service-sync-crmFileToKf-0.0.1-.jar
映射到容器的根目录下,运行的时候就会出错,错误为
Unable to access jarfile service-sync-crmFileToKf-0.0.1-SNAPSHOT.jar
Unable to access jarfile service-sync-crmFileToKf-0.0.1-SNAPSHOT.jar意思就是没有权限打开这个jar文件,原因就是在运行的时候没有权限写入到容器中
解决办法如下
映射目录后加
--privileged=true 关闭安全权限,否则你容器操作文件夹没有权限
如下命令
运行命令
docker run --name service-syncfile2 -d -p 8766:8766 -v
/home/docker/service-syncfile/service-sync-crmFileToKf-0.0.1-
SNAPSHOT.jar:/service-sync-crmFileToKf-0.0.1-SNAPSHOT.jar -v
/home/picture/:/home/picture --privileged=true -e tZ="Asia/Shanghai"
service-syncfile:v1
运行正常
查看启动后的日志
docker logs -f -t service-syncfile2
查看后100行
docker logs -f -t --tail 100 service-syncfile2