ubuntu上安装docker-compose踩坑记录

报错如下:

$ docker-compose up 
/usr/local/lib/python3.8/dist-packages/requests/__init__.py:102: RequestsDependencyWarning: urllib3 (2.2.0) or chardet (3.0.4)/charset_normalizer (2.0.12) doesn't match a supported version!warnings.warn("urllib3 ({}) or chardet ({})/charset_normalizer ({}) doesn't match a supported "
Traceback (most recent call last):File "/usr/local/bin/docker-compose", line 8, in <module>sys.exit(main())File "/home/local/EUROPRO/pca_yanyan/.local/lib/python3.8/site-packages/compose/cli/main.py", line 81, in maincommand_func()File "/home/local/EUROPRO/pca_yanyan/.local/lib/python3.8/site-packages/compose/cli/main.py", line 200, in perform_commandproject = project_from_options('.', options)File "/home/local/EUROPRO/pca_yanyan/.local/lib/python3.8/site-packages/compose/cli/command.py", line 60, in project_from_optionsreturn get_project(File "/home/local/EUROPRO/pca_yanyan/.local/lib/python3.8/site-packages/compose/cli/command.py", line 152, in get_projectclient = get_client(File "/home/local/EUROPRO/pca_yanyan/.local/lib/python3.8/site-packages/compose/cli/docker_client.py", line 41, in get_clientclient = docker_client(File "/home/local/EUROPRO/pca_yanyan/.local/lib/python3.8/site-packages/compose/cli/docker_client.py", line 124, in docker_clientkwargs = kwargs_from_env(environment=environment, ssl_version=tls_version)
TypeError: kwargs_from_env() got an unexpected keyword argument 'ssl_version'

这个报错有两个点需要解决的:

1. 错误1是:

/usr/local/lib/python3.8/dist-packages/requests/__init__.py:102: RequestsDependencyWarning: urllib3 (2.2.0) or chardet (3.0.4)/charset_normalizer (2.0.12) doesn't match a supported version!
  warnings.warn("urllib3 ({}) or chardet ({})/charset_normalizer ({}) doesn't match a supported "

我的docker是用的sudo安装的,而docker-compose是虚拟环境内安装的.通过whereis docker-compose 查看路径,只在/usr/local/bin/docker-compose目录下生成,而 /usr/bin/docker-compose没有
cp命令将docker-compose复制过去就可以了

$ whereis docker-compose
docker-compose: /usr/local/bin/docker-compose /home/local/EUROPRO/pca_yy/.myvirtualenv/py38/bin/docker-compose
$ sudo cat /etc/sudoers
[sudo] EUROPRO\pca_yanyan 的密码: 
#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults	env_reset
Defaults	mail_badpass
Defaults	secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"# Host alias specification# User alias specification# Cmnd alias specification# User privilege specification
root	ALL=(ALL:ALL) ALL# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL# Allow members of group sudo to execute any command
%sudo	ALL=(ALL:ALL) ALL
EUROPRO\\PCASudoers ALL=(ALL) ALL
zyy ALL=(ALL) ALL# See sudoers(5) for more information on "#include" directives:#includedir /etc/sudoers.d
EUROPRO\\pca_zyy ALL=(ALL) ALL

执行一下这句

$ sudo cp -r /usr/local/bin/docker-compose /usr/bin/docker-compose

 2.错误2是:

是urllib3 chardet 的版本不一致造成的

$ docker-compose --version
/usr/local/lib/python3.8/dist-packages/requests/__init__.py:102: RequestsDependencyWarning: urllib3 (2.2.0) or chardet (3.0.4)/charset_normalizer (2.0.12) doesn't match a supported version!warnings.warn("urllib3 ({}) or chardet ({})/charset_normalizer ({}) doesn't match a supported "
docker-compose version 1.29.2, build unknown

sudo pip3 uninstall urllib3 chardet

sudo pip3 install --upgrade requests

 用sudo方式执行上面红色的两行命令,切换依赖的版本后,顺利解决,看下:

$ sudo docker-compose --version
docker-compose version 1.29.2, build unknown
3.结果build的时候还报了错:
$ sudo docker-compose up --build
Traceback (most recent call last):File "/usr/local/bin/docker-compose", line 8, in <module>sys.exit(main())File "/usr/local/lib/python3.8/dist-packages/compose/cli/main.py", line 81, in maincommand_func()File "/usr/local/lib/python3.8/dist-packages/compose/cli/main.py", line 200, in perform_commandproject = project_from_options('.', options)File "/usr/local/lib/python3.8/dist-packages/compose/cli/command.py", line 60, in project_from_optionsreturn get_project(File "/usr/local/lib/python3.8/dist-packages/compose/cli/command.py", line 152, in get_projectclient = get_client(File "/usr/local/lib/python3.8/dist-packages/compose/cli/docker_client.py", line 41, in get_clientclient = docker_client(File "/usr/local/lib/python3.8/dist-packages/compose/cli/docker_client.py", line 124, in docker_clientkwargs = kwargs_from_env(environment=environment, ssl_version=tls_version)
TypeError: kwargs_from_env() got an unexpected keyword argument 'ssl_version'
执行以下命令

$ sudo pip3 install pyyaml==5.3.1

$ sudo pip3 install docker

$ sudo pip3 install docker-compose

最后用最简单的flaskdemo验证一下,浏览器访问 http://127.0.0.1:5000正常  完美解决!

$ sudo docker-compose up --build
/usr/local/lib/python3.5/site-packages/paramiko/transport.py:33: CryptographyDeprecationWarning: Python 3.5 support will be dropped in the next release of cryptography. Please upgrade your Python.from cryptography.hazmat.backends import default_backend
Building web
[+] Building 4.7s (9/9) FINISHED                                                                                                                                                            docker:default=> [internal] load build definition from dockerfile                                                                                                                                                  0.0s=> => transferring dockerfile: 159B                                                                                                                                                                  0.0s=> [internal] load metadata for docker.io/library/python:3.5                                                                                                                                         0.0s=> [internal] load .dockerignore                                                                                                                                                                     0.0s=> => transferring context: 2B                                                                                                                                                                       0.0s=> [1/4] FROM docker.io/library/python:3.5                                                                                                                                                           0.0s=> [internal] load build context                                                                                                                                                                     0.0s=> => transferring context: 564B                                                                                                                                                                     0.0s=> CACHED [2/4] RUN apt-get -y update                                                                                                                                                                0.0s=> [3/4] COPY . .                                                                                                                                                                                    0.0s=> [4/4] RUN pip3 install -r requirements.txt                                                                                                                                                        4.5s=> exporting to image                                                                                                                                                                                0.1s=> => exporting layers                                                                                                                                                                               0.1s=> => writing image sha256:fbbfa0243e8dcde522e5e2defb0f3eb986bcd077e0695e343ba0e17626df2b32                                                                                                          0.0s => => naming to docker.io/library/application_web                                                                                                                                                    0.0s 
Successfully built fbbfa0243e8dcde522e5e2defb0f3eb986bcd077e0695e343ba0e17626df2b32                                                                                                                        
Recreating application_web_1 ... done
Attaching to application_web_1
web_1  |  * Serving Flask app "app" (lazy loading)
web_1  |  * Environment: production
web_1  |    WARNING: This is a development server. Do not use it in a production deployment.
web_1  |    Use a production WSGI server instead.
web_1  |  * Debug mode: on
web_1  |  * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)
web_1  |  * Restarting with stat
web_1  |  * Debugger is active!
web_1  |  * Debugger PIN: 245-125-106
web_1  | 172.18.0.1 - - [05/Feb/2024 05:30:08] "GET / HTTP/1.1" 200 -
web_1  | 172.18.0.1 - - [05/Feb/2024 05:30:08] "GET /favicon.ico HTTP/1.1" 404 -
^Z
[6]+  已停止               sudo docker-compose up --build

补充:

flask验证代码如下:

层级

application (此文件夹是项目根目录)

        docker-compose.yml   (application的子文件)

        web (此文件夹是application的子文件夹)

                app.py  dockerfile  requirements.txt (web的子文件)

$ mkdir application

$ cd application

application$ mkdir web

application$ cd web

application/web$  vi app.py

from flask import Flaskapp = Flask(__name__)@app.route('/')
def nhooo():return "Welcome to nhooo"if __name__ == '__main__':
#call the run methodapp.run(debug=True,host='0.0.0.0')

application/web$ vi dockerfile  (提示:此处python:3.5镜像可能需要自己去拉取 sudo docker pull python:3.5)

FROM python:3.5
RUN apt-get -y update
COPY . .
RUN pip3 install -r requirements.txt
ENTRYPOINT ["python3"]
CMD ["app.py"]

application/web$ vi requirements.txt

flask

application/web$ cd ..

application$ vi docker-compose.yml

version: '3'services:web:build: ./webports:- "5000:5000"

写好了之后,sudo docker-compose up --build 启动。

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/669625.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

107 C++ STL 容器分类,array,vector详解

STL 的组成部分是个重要的部分&#xff0c;先回忆一下 容器&#xff0c;迭代器&#xff0c;算法&#xff08;函数&#xff09;&#xff0c;分配器&#xff08;分配内存&#xff09;&#xff0c;适配器&#xff0c;仿函数 一 容器的分类. vector &#xff0c; list&#xff0c…

Narrative Visualization: Telling Stories with Data

作者&#xff1a;Edward Segel、Jeffrey Heer 发表&#xff1a;TVCG&#xff0c; 机构&#xff1a;UW Interactive Data Lab 【原斯坦福可视化组】 1.概述 静态可视化&#xff1a;在一大串的文本描述中&#xff0c;可视化作为提供证据和细节的图表出现新兴可视化&#xff1a…

元数据驱动的思想

元数据驱动的思想 元数据驱动的思想应该不会陌生&#xff0c;但元数据驱动的实践应该会非常陌生。 因为元数据驱动架构是为了解决高频个性化的复杂业务而诞生的&#xff0c;而这种业务场景只存在2B领域。 有关元数据驱动的架构思想&#xff0c;在这里暂先简单抛几个点。&#…

精雕细琢的文档体验:Spring Boot 与 Knife4j 完美交汇

欢迎来到我的博客&#xff0c;代码的世界里&#xff0c;每一行都是一个故事 精雕细琢的文档体验&#xff1a;Spring Boot 与 Knife4j 完美交汇 前言Knife4j 与 Swagger 的区别1. 特性与优劣势对比&#xff1a;Knife4j&#xff1a;Swagger&#xff1a; 2. 选择 Knife4j 的理由&a…

二叉树的简单递归求解

int size 0; void btreesize(BTNode* point)//节点数 {if (point NULL){return; }else{size;}btreesize(point->left);btreesize(point->right);} 求树的节点数&#xff0c;递归思路为首先创立一个全局变量避免其在函数内部成为局部变量&#xff0c;然后当走到空树的时…

Nodejs基础6之HTTP模块的获取请求行和请求头、获取请求体、获取请求路径和查询字符串、http请求练习、设置HTTP响应报文、http响应练习

Nodejs基础 HTTP模块获取请求行和请求头获取请求体获取请求路径和查询字符串方式一方式二 http请求练习设置HTTP响应报文状态码响应状态描述响应头响应体 HTTP响应练习 HTTP模块 含义语法重点掌握请求方法request.method*请求版本request.httpVersion请求路径request.url*URL …

Mac利用brew安装mysql并设置初始密码

前言 之前一直是在windows上开发后段程序&#xff0c;所以只在windows上装mysql。(我记得linux只需要适应yum之类的命令即可) 另外, linux的移步 linux安装mysql (详细步骤,初次初始化,sql小例子,可视化操作客户端推荐) 好家伙&#xff0c;我佛了&#xff0c;写完当天网上发…

机器学习聚类算法

聚类算法是一种无监督学习方法&#xff0c;用于将数据集中的样本划分为多个簇&#xff0c;使得同一簇内的样本相似度较高&#xff0c;而不同簇之间的样本相似度较低。在数据分析中&#xff0c;聚类算法可以帮助我们发现数据的内在结构和规律&#xff0c;从而为进一步的数据分析…

electron获取元素xpath、pc端网页展示获取到的xpath、websocket给两端传值

目录 需求点&#xff1a;思路&#xff1a;思路&#xff1a;一、electron获取xpath1、创建主窗口2、创建子窗口并且setBrowserView到主窗口&#xff0c;子窗口默认加载error.html3、如果获取到了url&#xff0c;就加载url4、获取xpath并传递 二、electron通过websocket传递消息三…

深度学习缝模块怎么描述创新点?(附写作模板+涨点论文)

深度学习缝了别的模块怎么描述创新点、怎么讲故事写成一篇优质论文&#xff1f; 简单框架&#xff1a;描述自己这个领域&#xff0c;该领域出现了什么问题&#xff0c;你用了什么方法解决&#xff0c;你的方法有了多大的性能提升。 其中&#xff0c;重点讲清楚这两点&#xf…

开源计算机视觉库OpenCV详细介绍

开源计算机视觉库OpenCV详细介绍 1. OpenCV简介 OpenCV&#xff08;Open Source Computer Vision Library&#xff09;是一个开源的计算机视觉和机器学习软件库。它最初由Intel开发&#xff0c;现在由一个庞大的社区维护和更新。OpenCV旨在提供一个通用、跨平台的计算机…

QtAV学习:(一)Windows下编译QtAV

QtAV 主页&#xff1a; QtAV by wang-bin 作者的编译构建说明文档&#xff1a; Build QtAV wang-bin/QtAV Wiki GitHub 我的编译环境&#xff1a; 编译环境&#xff1a;win10/msvc2015/Qt5.6.3 第一步&#xff1a;GitHub拉取代码,执行子模块初始化 地址&#xff1a; …

2024-01-07-AI 大模型全栈工程师 - 做自己的产品经理

摘要 2024-01-07 周日 杭州 阴 本节内容: a. 如何做好独立开发设计&#xff0c;实现财富自由&#xff1b; 课程内容 1. 独立开发者 英文 indie hacker&#xff0c;是指独立开发软件产品的人&#xff1b;一人承担一个项目产品的所有工作&#xff1b; 2. 创业机会 云计算设…

JavaScript 设计模式之原型模式

原型模式 一般模式 所谓原型&#xff0c;一般就类似将数据放置到原型上&#xff0c;通过原型继承模式来实现一个基类&#xff0c;然后用子类继承方式来实现 // 汽车基类 const Car function (car,sale) {this.car car;this.sale sale;this.getName function () {}this.g…

C++ 内存模型

C内存模型 - MrYun - 博客园 (cnblogs.com) 内存区域 C内存分为5个区域&#xff1a;堆 heap &#xff1a; 由new分配的内存块&#xff0c;其释放编译器不去管&#xff0c;由我们程序自己控制&#xff08;一个new对应一个delete&#xff09;。如果程序员没有释放掉&#xff0c…

abap - 发送邮件,邮件正文带表格和excel附件

发送内容 的数据获取&#xff1a; 正文部分使用cl_document_bcs>create_document静态方法实现 传入参数为html内表结构 CLEAR lo_document .lo_document cl_document_bcs>create_document(i_type HTMi_text lt_htmli_length conlengthsi_subject lv_subje…

【漏洞复现】EPON上行A8-C政企网关信息泄露漏洞

Nx01 产品简介 EPON上行A8-C政企网关是一款终端产品&#xff0c;提供企业网络解决方案。 Nx02 漏洞描述 EPON上行A8-C政企网关敏感信息泄露漏洞&#xff0c;攻击者通过敏感信息泄露获取管理员密码。 Nx03 产品主页 fofa-query: "ZXECS" && title"Web…

网络安全红队基础建设与介绍

1.ATT&CK相关背景 ATT&CK在各种日常环境中都很有价值。开展任何防御活动时&#xff0c;可以应用ATT&CK防御法&#xff0c;参考攻击者及其行为。ATT&CK不仅对网络防御者提供通用技术库&#xff0c;还为渗透测试和红队提供了基础。提到对抗行为时&#xff0c;这为…

【机器学习】机器学习简单入门

&#x1f388;个人主页&#xff1a;甜美的江 &#x1f389;欢迎 &#x1f44d;点赞✍评论⭐收藏 &#x1f917;收录专栏&#xff1a;matplotlib &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共同学习、交流进…

谷歌免费开放模糊测试框架OSS-Fuzz(物联网、车联网、供应链安全、C/C++)

目录 模糊测试的智能化和自动化 模糊测试不能代替安全设计原则 AI驱动的漏洞修补