【云原生】解决在Windows上在docker内启动docker报Operation not permitted

这篇具有很好参考价值的文章主要介绍了【云原生】解决在Windows上在docker内启动docker报Operation not permitted。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

问题场景:

环境:

Windows 10

Docker Desktop 4.16

项目需要构建一个all-in-one容器,在容器内将项目所有其他容器启动。
例如postgresqlredis 等组件

这些组件全部配置在docker-compose.yml

docker-compose.yml 位于all-in-one容器内

现在我们用一个命令先启动 all-in-one 容器,该容器挂载了docker.sock 用于操作docker engine

docker run -p 5888:5888 -p 80:80 -p 443:443 -it -v c:/project/etc/bp:/etc/bp -v c:/project/tmp/:/opt/tmp -v c:/project/home/project_storage:/home/project_storage  -v  //var/run/docker.sock:/var/run/docker.sock --name=abc debian11:v1 /bin/bash

然后我们进入到该容器内,用 docker-compose 命令启动所有其他容器

docker-compose -f docker-compose.yml up -d

启动时报错
例如启动redis 的报错

PS C:\Users\abc> docker logs -f 116
chown: .: Operation not permitted
chown: .: Operation not permitted
chown: .: Operation not permitted
chown: .: Operation not permitted
chown: .: Operation not permitted
chown: .: Operation not permitted

docker-compose.yml 部分配置如下

version: '2.4'
services:
   postgresql:
    container_name: postgresql
    image: postgresql:latest
    restart: always
    healthcheck:
      test: pg_isready
      interval: 15s
      timeout: 2s
      retries: 20
      start_period: 10s
    environment:
      POSTGRES_PASSWORD: *****
      POSTGRES_USER: postgres
      PGDATA: /data
    volumes:
      - /c/project/home/project_storage/postgresql/data:/data

postgresql 也有类似的报错
都是没有操作权限

解决方案:

PS C:\Users\abc> docker run --privileged=true -it -v /run/desktop/mnt/host/c/project/etc/bp:/etc/bp -v /run/desktop/mnt/host/c/project/tmp/:/opt/tmp -v /run/desktop/mnt/host/c/project/home/project_storage:/home/project_storage  -v  //var/run/docker.sock:/var/run/docker.sock --name=abc debian11:v1 /bin/bash

这样挂载后,docker-compose.yml 文件内的volume配置也要修改为

version: '2.4'
services:
   postgresql:
    container_name: postgresql
    image: postgresql:latest
    restart: always
    healthcheck:
      test: pg_isready
      interval: 15s
      timeout: 2s
      retries: 20
      start_period: 10s
    environment:
      POSTGRES_PASSWORD: *****
      POSTGRES_USER: postgres
      PGDATA: /data
    volumes:
      - /run/desktop/mnt/host/c/project/home/project_storage/postgresql/data:/data

这样postgresql,redis 等容器就能起来了,不会再报权限问题

参考:

https://stackoverflow.com/questions/71018631/kubernetes-on-docker-for-windows-persistent-volume-with-hostpath-gives-operatio文章来源地址https://www.toymoban.com/news/detail-426346.html

到了这里,关于【云原生】解决在Windows上在docker内启动docker报Operation not permitted的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MacOS初识SIP——解决快捷指令sh脚本报错Operation not permitted

    因为一些原因,设计了一套快捷指令,中间涉及到一个sh脚本的运行,通过快捷指令运行时就会报错: operation not permitted 奇怪的是在快捷指令窗口下运行一切正常,但是从其他地方直接调用,例如通过Command+Space 打开 Spotlight Search 下执行就换出现报错。 以测试用快捷指令”

    2024年04月10日
    浏览(37)
  • Linux 删除文件提示:rm: cannot remove ‘XXXX‘: Operation not permitted 解决方案

            今天遇到一个很恼火的问题,就是在维护TP6项目时,无法在Linux中删除原有的vendor文件夹,更新进去新的内容,因为composer新require的必要的内容,本想着讲原有的删掉,直接讲压缩包放上去,解压,简单暴力,万万没想到。。。 用lsattr命令来查看是否是系统添加了

    2024年01月21日
    浏览(52)
  • linux里root用户权限下chmod修改文件却报错:Operation not permitted的解决方法

    root权限。在家目录里有个test的文件夹,但是这里想要用chmod命令修改该文件夹的权限,却报错 chmod: changing permissions of ‘test’: Operation not permitted 可以通过执行以下命令来检查文件系统是否已挂载为只读模式: mount | grep ’ / ’ 该命令将列出根文件系统的详细信息,包括挂载

    2024年04月24日
    浏览(52)
  • Docker【部署 06】Swarm实践及Operation not permitted和No chain/target/match by that name问题处理

    Docker Swarm 是 Docker 的集群管理工具。它将 Docker 主机池转变为单个虚拟 Docker 主机。 Docker Swarm 提供了标准的 Docker API,所有任何已经与 Docker 守护程序通信的工具都可以使用 Swarm 轻松地扩展到多个主机。支持的工具包括但不限于以下各项: Dokku Docker Compose Docker Machine Jenkins 原

    2024年02月08日
    浏览(45)
  • /LatestBuild: Operation not permitted

    error: Sandbox: ln(20796) deny(1) file-write-unlink /Users/global/Desktop/tengxunzhuoqiu/jmu/LatestBuild (in target \\\'jmu\\\' from project \\\'jmu\\\') Preparing to run Xcode Build Phase... use default localhost ln: /Users/global/Desktop/tengxunzhuoqiu/jmu/LatestBuild: Operation not permitted Failed to create symbolic link /Users/global/Desktop/tengxunzhuoqiu/jmu/Late

    2024年02月20日
    浏览(32)
  • Mac--终端ls报错Operation not permitted

    拿到新的mac电脑,终端输入ls报错 mac电脑启用了SIP(System Integrity Protection),增加了rootless机制,导致即使在root权限下依然无法修改文件, 网上建议 关闭该保护机制。。。 网上搜了一下,当然能关闭,但感觉怪怪的,后来搜到了一篇文章来解决,个人认为不错 系统偏好设置

    2024年02月05日
    浏览(55)
  • unity 安装失败:operation not permitted, mkdir......

    “operation not permitted” 字面意思,操作不允许 文件夹权限问题 没有当前用户就添加当前用户 然后就可以安装了

    2024年02月17日
    浏览(47)
  • npm install 报错 Error: EPERM: operation not permitted, rename

    用管理员身份打开终端再执行命令。 删除C:Users{账户}下的.npmrc文件 删除node_modules文件夹 执行命令 npm cache clean -f 然后执行安装命令 删除node_modules文件夹 执行命令 npm cache clean -f 重启电脑 再次执行安装命令 执行 npm install npm@6.0.0 执行安装命令 切换npm的下载源: npm config se

    2023年04月23日
    浏览(44)
  • android.system.ErrnoException: open failed: EPERM (Operation not permitted)

    android 10(Q)开始增加了沙盒机制,不能直接把文件保存到/sdcard目录下,只能保存到APP专属目录下;AndroidManifest.xml在标签下增加属性【android:requestLegacyExternalStorage=“true”】可以暂时保存到/sdcard路径下,但是Android11开始就失效了 我们可以通过Context的getExternalFilesDir(null)方法获取

    2024年02月12日
    浏览(48)
  • ulimit: open files: cannot modify limit: Operation not permitted

    在末尾添加以下内容 再次切换到smis用户,未出现之前的错误提示。 配值后建议重启一下服务器。 在使用ulimit命令方式来修改的话,当服务器被重启后会失效(临时性更改) ulimit 用于限制 shell 启动进程所占用的资源 支持以下各种类型的限制:所创建的内核文件的大小、进程数

    2024年02月13日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包