解决:E: Could not open lock file /var/lib/dpkg/lock - open

举报
liuzhen007 发表于 2021/10/28 23:14:42 2021/10/28
【摘要】 目录问题解决结尾 问题为了让容器服务启动更加方面,于是自己手写了一个 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 ...

目录

  • 问题
  • 解决
  • 结尾

问题

为了让容器服务启动更加方面,于是自己手写了一个 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 的使用不是很了解,因此出现了这样的基础错误。其实,实际开发中遇到的很多问题,最终定位都有可能是非常小的点。你遇到哪些非常简单的错误呢?欢迎评论,来吧,动动你的小手和键盘!

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。