Docker学习之安装docker-compose命令(采用Python-pip命令安装)

2023-05-16

Docker学习之安装docker-compose命令:采用Python-pip命令安装

  • 本机系统环境介绍
  • Docker Compose简介
  • 使用Python-pip命令进行安装
    • 第一步:环境检查
    • 第二步:安装Python-pip
    • 第三步:安装docker-compose
      • 分析产生上述问题的原因
      • 继续安装
      • 分析产生上述问题的原因
      • 解决问题继续安装
    • 第四步:检查是否安装成功
    • 第五步:通过pip命令卸载docker-compose
  • 小记

本机系统环境介绍

Ubuntu系统环境介绍介绍
Ubuntu版本:18.04.1
系统配置: 64位
Linux内核:5.3.0-42-generic
Docker版本: 19.03.8

Docker Compose简介

Docker Compose:允许用户通过一个单独的docker-compose.yml来定义一组相关联的应用容器,也就是可以定义和运行多个Docker容器,负责实现对Docker容器集群的快速编排
Docker Compose有两个重要的概念
服务(Service):一个应用容器,实际上可以包含若干运行相同镜像的容器实例
项目(Porject):有一组关联的应用容器组成的一个完整的业务单元,在docker-compose.yml重定义,比如定义redis集群
重点:docker compose的默认管理对象是项目,通过子命令对项目中的一组容器进行便捷的生命周期管理
备注:Compose 支持 Linux、macOS、Windows 10 三大平台。

使用Python-pip命令进行安装

第一步:环境检查

## 查看是否安装过Python-pip
acestang@acestang:~$ sudo pip -V
sudo: pip:找不到命令
## 先查看是否安装过docker-compose如果安装过,先卸载
acestang@acestang:~$ sudo docker-compose version
sudo: docker-compose:找不到命令

第二步:安装Python-pip

# 在CentOS中需要先安装 epel-release 主要是这个软件包会自动配置yum的软件仓库,我们是Ubuntu系统所以不需要,直接安装python-pip
acestang@acestang:~$ sudo apt-get install -y python-pip
# 测试是否安装成功
acestang@acestang:~$ sudo pip -V
# 显示出pip的版本号,说明安装成功
pip 9.0.1 from /usr/lib/python2.7/dist-packages (python 2.7)

第三步:安装docker-compose

acestang@acestang:~$sudo pip install docker-compose
Collecting docker-compose
  Downloading https://files.pythonhosted.org/packages/ec/35/1dfbb8e6b2ce5d290622a49cae0a7f3cf09cdc4341380a600aee00530881/docker_compose-1.25.5-py2.py3-none-any.whl (139kB)
    100% |████████████████████████████████| 143kB 2.0kB/s 
Collecting docopt<1,>=0.6.1 (from docker-compose)
  Downloading https://files.pythonhosted.org/packages/a2/55/8f8cab2afd404cf578136ef2cc5dfb50baa1761b68c9da1fb1e4eed343c9/docopt-0.6.2.tar.gz
Collecting six<2,>=1.3.0 (from docker-compose)
  Downloading https://files.pythonhosted.org/packages/65/eb/1f97cb97bfc2390a276969c6fae16075da282f5058082d4cb10c6c5c1dba/six-1.14.0-py2.py3-none-any.whl
Collecting backports.ssl-match-hostname<4,>=3.5; python_version < "3.5" (from docker-compose)
  Downloading https://files.pythonhosted.org/packages/ff/2b/8265224812912bc5b7a607c44bf7b027554e1b9775e9ee0de8032e3de4b2/backports.ssl_match_hostname-3.7.0.1.tar.gz
Collecting PyYAML<6,>=3.10 (from docker-compose)
  Downloading https://files.pythonhosted.org/packages/64/c2/b80047c7ac2478f9501676c988a5411ed5572f35d1beff9cae07d321512c/PyYAML-5.3.1.tar.gz (269kB)
    72% |███████████████████████▏        | 194kB 3.3kB/s eta 0:00:23Exception:
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 215, in main
    status = self.run(options, args)
  File "/usr/lib/python2.7/dist-packages/pip/commands/install.py", line 353, in run
    wb.build(autobuilding=True)
  File "/usr/lib/python2.7/dist-packages/pip/wheel.py", line 749, in build
    self.requirement_set.prepare_files(self.finder)
  File "/usr/lib/python2.7/dist-packages/pip/req/req_set.py", line 380, in prepare_files
    ignore_dependencies=self.ignore_dependencies))
  File "/usr/lib/python2.7/dist-packages/pip/req/req_set.py", line 620, in _prepare_file
    session=self.session, hashes=hashes)
  File "/usr/lib/python2.7/dist-packages/pip/download.py", line 821, in unpack_url
# 悲催啊,安装到这里突然出错,可以看到

分析产生上述问题的原因

分析上面的问题,可能是默认安装python-compose使用的是python3而系统环境是Python2,所以安装失败
解决思路:把系统的默认Python2.7 升级到Python3
升级方法参考:链接: Linux常用命令(3)升级系统默认python2.7到python3最新版本.
升级后会出现pip命令不能使用的问题
解决pip命令不能使用参考:链接: Linux常用命令(4)解决升级系统默认python2.7到python3最新版本后pip命令不能使用的问题.

继续安装

acestang@acestang:~$ sudo pip install docker-compose
The directory '/home/acestang/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/home/acestang/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Collecting docker-compose
  Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='pypi.python.org', port=443): Read timed out. (read timeout=15)",)': /simple/docker-compose/
  Downloading https://files.pythonhosted.org/packages/ec/35/1dfbb8e6b2ce5d290622a49cae0a7f3cf09cdc4341380a600aee00530881/docker_compose-1.25.5-py2.py3-none-any.whl (139kB)
    100% |████████████████████████████████| 143kB 9.2kB/s 
Requirement already satisfied: six<2,>=1.3.0 in /usr/lib/python3/dist-packages (from docker-compose)
Collecting docopt<1,>=0.6.1 (from docker-compose)
  Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProtocolError('Connection aborted.', ConnectionResetError(104, '连接被对方重设'))': /simple/docopt/
  Could not find a version that satisfies the requirement docopt<1,>=0.6.1 (from docker-compose) (from versions: )
No matching distribution found for docopt<1,>=0.6.1 (from docker-compose)
# 又悲催了,安装又失败

分析产生上述问题的原因

问题展示:
分析问题:这个问题是在安装软件过程中,链接国外的镜像源导致下载失败
解决这个问题可以参考链接: Linux常用命令(4)解决升级系统默认python2.7到python3最新版本后pip命令不能使用的问题.

解决问题继续安装

acestang@acestang:~$ sudo pip install -U docker-compose
The directory '/home/acestang/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/home/acestang/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Collecting docker-compose
  Url '#/docker-compose/' is ignored. It is either a non-existing path or lacks a specific scheme.
  .......
Installing collected packages: docker-compose
Successfully installed docker-compose-1.25.5
# 终于安装过程没有报错,进行下一步

第四步:检查是否安装成功

# 安装成功
acestang@acestang:~$ docker-compose --version
docker-compose version 1.25.5, build unknown

第五步:通过pip命令卸载docker-compose

acestang@acestang:~$ pip install docker-compose

小记

小记:虽然安装过程很艰辛,但是遇到问题不要慌,分析问题,找到问题的原因,总能够解决的.如果你在安装过程中遇到了问题,直接给我留言,大家一起分析问题解决!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Docker学习之安装docker-compose命令(采用Python-pip命令安装) 的相关文章

随机推荐

  • VINS-FUSION 研究日志 (3)进入 estimator.cpp Part A

    继续碎碎念梳理VINS FUSION 上一篇博文梳理了整个程序的入口 xff0c 其实只是做了传感器参数的读取与配置 xff0c 传感器测量数据的订阅 两件事情 estimator cpp 中有一个持续运行的线程 xff0c 是在 void
  • “Failed to get convolution algorithm. This is probably because cuDNN failed to initialize”错误的解决办法

    最近在使用TF2 0 运行程序出现以下错误 Failed to get convolution algorithm This is probably because cuDNN failed to initialize 一开始怀疑是CUDA
  • Linux多线程调用ubus导致死锁问题

    测试组发现用户进程在某种特定情况下 xff0c 会出现死锁 xff0c 现象是进程还在S状态 xff0c 但没有任何反应 xff0c 所以怀疑死锁 问题复现 通过几次测试发现 xff0c 进程中设置的参数恢复出厂后重启进程很大概率会出现死锁
  • Hi3559AV100 HDMI转MIPI-CSI LT6911UXC转换芯片调试

    Hi3559AV100项目 xff0c 需要接HDMI 4K摄像头 xff0c 需要把HDMI转成MIPI CSI信号接入CPU xff0c 从而实现信号的转换和实现 我们拿到的海思开发板是HI3559A4SDMEB VER A xff0c
  • 电脑抓wifi空中包三种方法

    WIN10电脑 下载wireshark软件 xff0c 设置WIFI网卡为monitor模式 xff1a C WINDOWS system32 gt cd Npcap C Windows System32 Npcap gt WlanHelp
  • 简述TCP的三次握手过程

    TCP握手协议 在TCP IP协议中 TCP协议提供可靠的连接服务 采用三次握手建立一个连接 第一次握手 xff1a 建立连接时 客户端发送syn包 syn 61 j 到服务器 并进入SYN SEND状态 等待服务器确认 xff1b SYN
  • buildroot使用外部编译链编译bluez蓝牙工具

    在开发ublox w263 wifi蓝牙时 xff0c 之前是使用yocto系统集成编译出的bluez工具 xff0c 减少了自己编译工具软件和依赖库的工作 xff0c 切换项目使用原生linux系统后 xff0c 所以的软件需要自己编译
  • 软件替代硬件HW_RANDOM随机数解决方案

    问题背景 使用低成本平台方案时 xff0c 发现不支持HW RANDOM硬件随机数 xff0c 这样在开启wifi wpa2加密ap后 xff0c 电脑多次提示连接失败才连接成功 xff0c 很影响用户体验 硬件不支持硬件随机数那么就需要使
  • Android下打印出现read: Unexpected EOF!分析

    背景 xff1a 在抓SmePlayer打印时 xff0c 打开debug级别后 xff0c xshell终端就嘟嘟响然后打印出几百行后就打出read Unexpected EOF 结束了 这时候完全没有抓到我需要的打印 xff0c 用lo
  • VMWare中处理器和内存配置含义

    背景 在创建虚拟机系统后 xff0c 默认处理器配置都是为1 xff0c 内存一般选为1G xff0c 然而在使用Linux系统编译大型软件时 xff0c 速度慢耗时较长 xff0c 这时候就需要调整一下处理器和内存配置 xff0c 使得计
  • Linux mkfs.ext4命令参数使用

    命令使用 mkfs ext4 参数 设备 参数说明 c 格式化前检查分区是否有坏块 Checking for bad blocks read only test 19 34 done 0 21 elapsed 0 0 0 errors Ch
  • Xshell 6多个会话窗口消失只能显示一个问题解决

    背景 某一天同事操作了我的Xshell导致我的会话窗口消失只能显示一个 xff0c 通过点击选项卡排列可以显示出消失的窗口 xff0c 但是使用极为不方便 xff0c 下面问题解决 解决 正常显示 xff1a 有三个选项窗口 异常显示 xf
  • OpenWrt学习(一)搭建Linux开发环境

    环境 目前大部分的 linux开发都是在PC虚拟机上进行的 xff0c 所采用的 linux系统版本有 Ubuntu Redhat Debian Fedora 等 xff0c 我们一般在 windows 操作系统上利用 VMware 43
  • OpenWrt学习(三)源码大包编译

    编译大包 make V 61 99 xff0c V 61 99 用来生成编译过程的详细信息 xff0c 方便查找出错原因 xff0c 或者用V 61 s 建议加 j x xff08 x 为CPU core数量 xff09 选项 xff0c
  • Linux gcc自带检测内存泄漏工具asan

    背景 排查和检测内存泄漏的问题时 xff0c 需要选择一些好用的工具 xff0c 由于dmalloc编译复杂 xff0c valgrind依赖太多 xff0c 所以选择使用gcc自带检测内存泄漏工具asan xff0c 版本4 8之后就支持
  • Linux物理内存较少导致OOM问题分析

    背景 开发项目过程中 xff0c 发现盒子启动后物理内存持续的减少 xff0c CMA内存过了一段时间后也出现明显减少情况 xff0c 到最后会低概率性的出现OOM杀掉进程的情况 xff1b 通过ps命令监控所有进程在开机后的虚拟内存VSZ
  • BaseService --- service层的抽取

    service层的抽取和dao层的抽取差不多相同 xff0c 主要不同点是dao实例化的问题 xff0c 需要在调用时传入 xff0c 并在BaseServiceImpl接收 详细的过程说明请参考dao层的抽取 dao层的抽取 xff1a
  • 数据分析思维之用户标签

    文章目录 1 什么是标签 xff1f 2 用户标签有什么用 xff1f 3 用户标签的制作流程4 用户标签的4大常见问题4 1 没有目标 xff0c 盲目打标4 2 不区分时间状态4 3 行为动机乱归因4 4 结果缺少检验 1 什么是标签
  • 看你能坚持读几本书?!——三十本互联网必看书籍

    写在前面 一直想整理个书单 xff0c 譬如关于EA 企业架构 ABCD 人工智能 大数据 云计算 设备 逻辑 思维 沟通 影响力 领导力 管理 绩效 胜任力 战略 商业方面的书单 xff0c 这里看到了一篇整理的比较好的书单 经过简单编辑
  • Docker学习之安装docker-compose命令(采用Python-pip命令安装)

    Docker学习之安装docker compose命令 采用Python pip命令安装 本机系统环境介绍Docker Compose简介使用Python pip命令进行安装第一步 环境检查第二步 安装Python pip第三步 安装doc