Docker报错Operation not permitted问题的解决方法

 更新时间:2023年02月04日 12:01:52   作者:contiguous  
刚开始接触Docker的朋友经常会遇到问题,下面这篇文章主要给大家介绍了关于Docker报错Operation not permitted问题的解决方法,需要的朋友可以参考下

前言

Docker PHP需要安装 bcmath,pdo_mysql,redis3个扩展,由于权限问题,所以不能通过Dockerfile直接生成需要的镜像。这里分3部分来做,第一部分生成基本镜像,包含了可以用Dockerfile安装的PHP扩展。第二部分用镜像启动容器,手工安装扩展包最后再将容器生成最终的镜像,以后启动PHP容器的时候就不需要再安装这些包了。

1)docker file 生成基本镜像,这个比较简单

使用这个镜像制作 php:7.3-fpm-alpine

2)容器内安装扩展包时,提示没有权限

  make: /bin/sh: Operation not permitted

解决方法,启动container 加 --privileged 参数,才有真实的root权限。

否则没有权限安装包。

3)容器内安装扩展包

  docker-php-ext-install bcmath
  docker-php-ext-install pdo_mysql

4)扩展包里没有redis包,只能通过pecl安装。

  可是直接用pecl安装还是提示找不到包,所以先下载对应的redis包,然后pecl指定本地的包再安装。

  # pecl install redis
  No releases available for package "pecl.php.net/redis"
  install faile

到http://pecl.php.net/package/redis 手工下载redis-4.2.0.tgz, 然后用下面的方法安装

容器里执行下列命令:

  # apk add curl
  # curl http://pecl.php.net/get/redis-4.2.0.tgz -o redis-4.2.0.tgz
  # apk add --no-cache --update --virtual .phpize-deps $PHPIZE_DEPS
  # pecl install ./redis-4.2.0.tgz
  # rm ./redis-4.2.0.tgz
  # rm -rf /usr/share/php
  # rm -rf /tmp/*
  # apk del  .phpize-deps

5)使用当前容器生成镜像

  docker commit -a "contiguous" -m "myphp73" [自己的containerID]  myphp73:v1 

至此文件都解决了,启动容器时,指定使用myphp73:v1镜像就可以了

总结

到此这篇关于Docker报错Operation not permitted问题解决的文章就介绍到这了,更多相关Docker Operation not permitted问题内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Docker 教程之数据管理详细介绍

    Docker 教程之数据管理详细介绍

    这篇文章主要介绍了Docker 教程之数据管理详细介绍的相关资料,需要的朋友可以参考下
    2017-01-01
  • Alpine镜像中如何安装telnet

    Alpine镜像中如何安装telnet

    BusyBox是一个在嵌入式系统和资源受限环境中广泛使用的工具集合,它为用户提供了轻量级、功能强大和灵活的命令行工具集,这篇文章主要介绍了Alpine镜像中安装telnet,需要的朋友可以参考下
    2024-06-06
  • Docker单机部署Doris超详细图文教程

    Docker单机部署Doris超详细图文教程

    Apache Doris是一款基于MPP架构的分析型数据库,由百度大数据部研发,支持亚秒级响应时间的实时数据分析,本文旨在为学习Doris的同学提供一个快速的操作指引,以便更高效地挖掘数据背后的价值,对docker 部署Doris 数据库使用感兴趣的朋友跟随小编一起看看吧
    2024-09-09
  • 如何一次重启所有已停止的docker容器

    如何一次重启所有已停止的docker容器

    这篇文章主要介绍了如何一次重启所有已停止的docker容器问题,
    2024-01-01
  • 用docker搭建selenium grid分布式环境实践之路

    用docker搭建selenium grid分布式环境实践之路

    这篇文章主要介绍了用docker搭建selenium grid分布式环境实践之路,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • Docker容器搭建本地私有仓库详情

    Docker容器搭建本地私有仓库详情

    这篇文章主要介绍了Docker容器搭建本地私有仓库详情,Docker 官方提供了一个搭建私有仓库的镜像 registry ,运行该镜像的容器并且对外暴露5000端口就ok了
    2022-08-08
  • 教你如何在windows 10家庭版上安装docker

    教你如何在windows 10家庭版上安装docker

    这篇文章主要介绍了如何在windows 10家庭版上安装docker的步骤,本文分为五步通过图文给大家介绍的非常详细,需要的朋友可以参考下
    2021-12-12
  • Docker容器和本机之间的文件传输方法

    Docker容器和本机之间的文件传输方法

    这篇文章主要介绍了Docker容器和本机之间的文件传输方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • Docker desktop中文设置方法步骤

    Docker desktop中文设置方法步骤

    这篇文章主要给大家介绍了关于Docker desktop中文设置的方法步骤,Docker Desktop默认使用英文界面,要设置为中文界面,请按照以下步骤操作,需要的朋友可以参考下
    2024-03-03
  • Docker学习笔记之Docker部署Java web系统

    Docker学习笔记之Docker部署Java web系统

    这篇文章主要介绍了Docker学习笔记之Docker部署Java web系统,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02

最新评论