解决:E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)

简介: 为了让容器服务启动更加方面,于是自己手写了一个 docker-compose.yml 配置脚本。脚本内容如下:

目录

  • 问题
  • 解决
  • 结尾

问题

为了让容器服务启动更加方面,于是自己手写了一个 docker-compose.yml 配置脚本。脚本内容如下:

version: '3'
services:
  fake-sqs:
    image: registry.cn-beijing.aliyuncs.com/liuzhen007/sqs-x86:1.0.6.1
    container_name: fake-sqs
    restart: always
    network_mode: "host"

完成后启动服务,服务也运行正常,没有报错。自己运行如下命令进入容器查看 docker 运行状况:

docker exec -it  81402e58e15e bash

查看服务端口监听状态,命令如下:

docker@al-bj-boom-hb-backstage-01:/$ netstat -an | grep 4566 bash: netstat: command not found

提示没有工具命令 netstat,于是执行如下命令安装:

apt-get install net-tools

此时,却发生了如下报错信息:

docker@al-bj-boom-hb-backstage-01:/$ apt-get install net-tools

E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)

E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?

解决

网上搜索解决方案时,有一种说法是删除提示的文件:/var/lib/dpkg/lock,感觉不是很靠谱,自己觉得是别的原因导致的。

很可能是自己写的 docker-compose.yml 配置脚本有问题,于是自己顺着方向查下去,果然最后让自己发现了一个配置参数 user: root 。瞬间,自己就知道哪里出错误了,于是修改 docker-compose.yml 配置脚本,修改后内容如下:

version: '3'
services:
  fake-sqs:
    image: registry.cn-beijing.aliyuncs.com/liuzhen007/sqs-x86:1.0.6.1
    container_name: fake-sqs
    restart: always
    network_mode: "host"
    user: root

然后重新启动服务,再执行刚才的命令,问题解决。

结尾

自己对 docker-compose 的使用不是很了解,因此出现了这样的基础错误。其实,实际开发中遇到的很多问题,最终定位都有可能是非常小的点。你遇到哪些非常简单的错误呢?欢迎评论。


作者简介:大家好,我是 Data-Mining(liuzhen007),是一位典型的音视频技术爱好者,同时也是CSDN博客专家、华为云享专家(共创编辑)、InfoQ 签约作者,欢迎关注我分享更多干货!

目录
相关文章
|
前端开发
无法解锁/var/lib/dpkg/lock-frontend和无法获取 dpkg 前端锁 (/var/lib/dpkg/lock-frontend)【解决方案】
无法解锁/var/lib/dpkg/lock-frontend和无法获取 dpkg 前端锁 (/var/lib/dpkg/lock-frontend)【解决方案】
如何快速删除harbor镜像
如何快速删除harbor镜像
|
Java 测试技术 API
解决harbor上删除镜像不释放空间,无需停止harbor
解决harbor上删除镜像不释放空间 docker镜像仓库中镜像的清理,一直是个比较麻烦的事情。尤其是在测试环境当中,每天都会有大量的构建。由此会产生大量的历史镜像,而这些镜像,大多数都没有用。
3845 0
|
5月前
|
人工智能 Prometheus 运维
阿里云1分钟或本地部署OpenClaw+AIOps高效运维实战:Prometheus+夜莺MCP,轻量化监控分析指南
在运维场景中,传统监控架构往往存在链路复杂、定制化成本高、AI能力融合不足等问题。OpenClaw(俗称“龙虾”)作为功能强劲的AI智能体工具,虽具备强大的自动化执行能力,但直接部署面临权限过高、不符合生产环境安全要求的痛点。而夜莺MCP(管理控制平面)与Prometheus的组合,虽能实现监控数据的采集与可视化,却存在上下文交互Token消耗大、运维人员精力分散等问题。
2052 128
|
并行计算 Ubuntu Docker
Docker环境Ubuntu20.04安装Python3.10版本
Docker环境Ubuntu20.04安装Python3.10版本
6708 0
|
Docker 容器
Docker服务启动失败报错:Job for docker.service failed because the control process exited with error code.
Docker服务启动失败报错:Job for docker.service failed because the control process exited with error code.
8843 1
|
网络协议 C++ Docker
Docker pull拉取镜像报错“Error response from daemon: Get "https://registry-1.docker.io/v2”解决办法
Docker pull拉取镜像报错“Error response from daemon: Get "https://registry-1.docker.io/v2”解决办法
71714 2