一、E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable) \

E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?

(1)前情概要

在下载docker的时候需要使用apt命令更新、安装依赖包
在这里插入图片描述
(2)触发条件

apt有概率执行完命令后没有退出,而是继续在后台运行,当你再次使用apt时,可能就会报错

(3)解决办法(一):kill apt线程

  1. 查看所有apt线程的id
ps -A | grep apt
  1. 杀死相应的线程
sudo kill 线程id

解决办法(二):删除锁定文件

当运行 apt-get 或者 apt 命令时,/var/lib/apt/lists/、/var/lib/dpkg/、/var/cache/apt/archives/ 中会创建锁定文件,这有助于运行中的 apt-get 或者 apt 进程能够避免被其它需要使用相同文件的用户或者系统进程所打断。当该进程执行完毕后,锁定文件将会删除。

第一个方法中没有看到 apt-get 或者 apt 进程的情况下可能是因为进程因为某个原因被杀死了,但是锁定文件还没用被删除,手动删除锁定文件即可。

首先删除三个文件夹下的锁定文件

$ sudo rm /var/lib/dpkg/lock
$ sudo rm /var/lib/apt/lists/lock
$ sudo rm /var/cache/apt/archives/lock

然后强制重新配置软件包

$ sudo dpkg --configure -a

接下来,更新你的软件包源列表

$ sudo apt update
$ sudo apt-get update

二、You are not allowed to use Docker. You must be in the

(1)前情概要

当你安装完docker后想启动一下,试用一下相应的docker命令,可是却发现命令行报错

(2)解决办法

这是因为我们当前的登录用户不在docker的用户组里,没有权限

添加用户到docker用户组,注意第一步一般安装docker时就默认创建了,可以直接从第二步开始,如果添加到docker用户组之后未生效可以试一下第四步

  1. 创建docker用户组
 sudo groupadd docker

sudo systemctl restart docker #重启docker
2. 应用用户加入docker用户组

sudo gpasswd -a [USER] docker    #sudo gpasswd -a ahua docker
  1. 更新用户组
newgrp docker     #更新用户组
  1. 重启docker服务
 sudo systemctl restart docker

如果没有生效可试一下切换或者退出当前账户再从新登入

su root             #切换到root用户
su ${用户}          #再切换到原来的用户

在docker命令前添加 sudo或者直接切换到root用户

sudo是linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具

三、/usr/local/bin/docker-compose: line 1: Not: command not found

(1)前情概要

当你需要通过docker-compose去部署一个已有的项目时,需要下载dockers-compose,于是你运行命令进行下载

sudo curl -L "https://github.com/docker/compose/releases/download/v1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

可是下载完使用docker-compose --version测试时发现,报错了,而且打开对应目录下的docker-compose文件时,里面是空的,什么都没有

(2)解决办法
可以试一下换一种下载方式,重新下载

sudo curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

上面不行的话可以试试这个

sudo curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

别忘了增加可执行权限

sudo chmod +x /usr/local/bin/docker-compose

四、Failed to execute script docker-compose

(1)前情概要

当你已经安装好了docker-compose,准备部署项目了,你在命令行输入 docker-compose up或者docker-compose build时你突然发现,报错了

(2)解决办法

这个解决办法看起来好像有点不蠢,但是事实也许就是这样,你可能并没有启动你的docker,所以输入systemctl start docker将docker启动即可

五、Version in “./docker-compose.yml” is unsupported

(1)前情概要

下载好了,命令也有了但是还是报错了,这因为你的docker-conpose版本和项目中的docker-compose.yml中定义的版本不匹配

(2)解决办法

这个根据安装时的指导,重新下载匹配版本的docker-compose即可
在这里插入图片描述
将链接里的版本换成匹配的版本即可

 $ sudo curl -L "https://github.com/docker/compose/releases/download/v1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

别忘了增加可执行权限

sudo chmod +x /usr/local/bin/docker-compose
				
Docker-Compose项目是Docker官方的开源项目,负责实现对Docker容器集群的快速编排。 Docker-Compose将所管理的容器分为三层,分别是工程(project),服务(service)以及容器(container)。Docker-Compose运行目录下的所有文件(docker-compose.yml,extends文件或环境变量文件等)组成一个工程,若无特殊指定工程名即为当前目录名。一个工程当可包含多个服务,每个服务定义了容器运行的镜像、参数、依赖。一个服务当可包括多个容器实例,Docker-Compose并没有解决负载均衡的问题,因此需要借助其它工具实现服务发现及负载均衡,比如 Consul。 Compose允许用户通过一个单独的docker-compose.yml模板文件(YAML 格式)来定义一组相关联的应用容器为一个项目(project)。 Docker-Compose项目由Python编写,调用Docker服务提供的API来对容器进行管理。因此,只要所操作的平台支持Docker API, 就可以在其上利用Compose来进行编排管理。
【云原生】docker-compose安装,解决Warning: the “docker“ command appears to already exist on this system.3的问题
yum remove 上面list安装的程序 1.5.然后安装dockerdocker分为docker-ce18.几几的版本和直接安装就是1.几几版本,差异,还没做研究不过方法都是如下
我们在安装服务器的时候,很多情况都是局域网,没有外网,安装软件特别的麻烦,主要的问题就是依赖包,所以整理资源和教程。大家也可以自己在有网络的机子下载rpm包(yum install --downloadonly --downloaddir=/data/packages docker-ce) 版本信息: Docker version 20.10.7, build f0df350; docker-compose version 1.18.0, build 8dd22a9 资源内容: 1.Centos7-x86架构下离线安装dockerdocker-compose的教程 2.安装需要的rpm包以及依赖包
mac 安装docker-compose报错,/usr/local/bin/docker-compose: line 1: {error:Document not found}:
执行 docker-compose compose-local.yml时,出现一堆提示: Traceback (most recent call last): File "docker-compose", line 6, in <module> File "compose/cli/main.py", line 71, in main File "compose/cli/main.py", line 124, in perform_command File "compose/cli
Traceback (most recent call last): File “docker-compose”, line 6, in File “compose\cli\main.py”, line 71, in main File “compose\cli\main.py”, line 101, in dispatch File “compose\cli\utils.py”, line 86, in get_v
内含两个文件,一个是二进制程序包,一个是install.sh安装脚本。 解压这个压缩包,将解压后的文件夹上传到Linux,然后系统管理员执行命令bash install.sh 出现以下字段表示安装成功了 Docker Compose version v2.5.0 docker-compose install success (你也可以自行去github上面下载最新的docker-compose的二进制包,但是这将浪费你半个小时的时间,然后还要自己安装。所以1.9元交个朋友)
No LSB modules are available. Distributor ID: Raspbian Description: Raspbian GNU/Linux 10 (buster) Release: 10 Codename: buste
Docker是一种开源的容器化平台,可以帮助开发人员在不同的环境快速构建、打包、部署和运行应用程序。Docker可以将应用程序及其依赖项打包成一个独立的容器,使得应用程序可以在任何地方运行,而不需要担心环境的差异性。 Docker Compose是一个用于定义和运行多个Docker容器的工具,它可以帮助开发人员在本地快速构建和测试多个容器化应用程序。Docker Compose使用YAML文件来定义容器之间的依赖关系和配置信息,从而简化了容器的管理和部署过程