ubuntu20系统,docker-compose编译错误kwargs_from_env() got an unexpected keyword argument ‘ssl_version‘

本文介绍了如何使用`sudoapt-getinstalldocker-compose`安装DockerCompose,以及如何通过`docker-compose.yaml`构建包含ApacheWeb服务的Docker镜像。讨论了docker-composebuild命令的不同形式,并指出自DockerCompose1.27.0版本后,docker-compose和docker-composebuild的等效性。
摘要由CSDN通过智能技术生成

安装

sudo apt-get install docker-compose

使用编译

docker-compose.yaml

version: "3.3"
services:
 myweb001:
  build:
   context: . 
   args:
    whoami: "m"
  image: apache-web-001:latest
  ports:
   - "8081:80"  

dockerfile

FROM alpine:3.17
ARG whoami
ENV db_user=none
WORKDIR /var/www/localhost/htdocs
RUN apk --update add apache2
RUN rm -rf /var/cache/apk/*
RUN echo "<h3>I'm ${whoami}, and I'm building my first Docker Image 1<h3>" >>index.html
RUN echo "<h3>I'm ${whoami}, and I'm building my first Docker Image 2<h3>" >>index.html
RUN echo "<h3>I'm ${whoami}, and I'm building my first Docker Image 3<h3>" >>index.html
COPY ./content.txt ./
RUN cat ./content.txt >> index.html
ENTRYPOINT ["httpd","-D","FOREGROUND"]

html文件, content.txt


<div>
<h3>My Book List</h3>
<ul>
  <li><a href="#">Die Hard</a></li>
  <li><a href="#">Secret</a></li>
  <li><a href="#">Html 101</a></li>
  <li><a href="#">Kubernetes 202</a></li>
  <li><a href="#">AWS 303</a></li>
</ul>
</div>

先说现象
运行
docker-compose build --no-cache

我编译的时候失败了 ,

$ docker-compose build --no-cache
Traceback (most recent call last):
  File "/usr/bin/docker-compose", line 11, in <module>
    load_entry_point('docker-compose==1.25.0', 'console_scripts', 'docker-compose')()
  File "/usr/lib/python3/dist-packages/compose/cli/main.py", line 72, in main
    command()
  File "/usr/lib/python3/dist-packages/compose/cli/main.py", line 125, in perform_command
    project = project_from_options('.', options)
  File "/usr/lib/python3/dist-packages/compose/cli/command.py", line 53, in project_from_options
    return get_project(
  File "/usr/lib/python3/dist-packages/compose/cli/command.py", line 145, in get_project
    client = get_client(
  File "/usr/lib/python3/dist-packages/compose/cli/command.py", line 116, in get_client
    client = docker_client(
  File "/usr/lib/python3/dist-packages/compose/cli/docker_client.py", line 97, in docker_client
    kwargs = kwargs_from_env(environment=environment, ssl_version=tls_version)
TypeError: kwargs_from_env() got an unexpected keyword argument 'ssl_version'

但是偶然间运行docker compose up -d的时候成功了,很奇怪

后来新版本发现不能加横杆,查阅资料才知道

在 Docker Compose 中,docker-compose builddocker compose build 是等效的,它们执行相同的操作:构建 Docker Compose 文件中定义的服务。这两者的不同只是命令的书写方式。

在 Docker Compose 的早期版本中,命令是 docker-compose,但自从 Docker Compose 1.27.0 版本开始,可以使用简化的 docker compose 命令。这是 Docker Compose 官方为了简化使用而引入的一项变更。

无论使用哪个命令,它们都会根据 docker-compose.yml 文件中的定义构建 Docker 服务。这两个命令的行为是相同的,只是命令名称的不同。

  • 18
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值