当使用Docker compose 3.8时,出现“版本不支持”错误

thtygnil  于 2023-11-17  发布在  Docker
关注(0)|答案(4)|浏览(218)

我正在尝试使用最新的Docker compose 3.8版本,但我一直得到“Version in“.\docker-compose.yml”is unsupported.”错误。
我使用的是最新版本的Docker引擎19.03.8和Docker桌面2.2.0.5。
编辑:这是我的docker compose版本:docker-compose version 1.25.4,build 8d 51620 a
下面是我的docker compose文件:

version: "3.8"
services:
  portal:
    image: portal-dev
    ports:
      - "5000:80"
      - "4200:4200"
    container_name: portal
    build:
      context: .
      dockerfile: Dockerfile.dev
    environment:
      ASPNETCORE_ENVIRONMENT: Development
      DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER: 0

字符串
我的docker compose文件在3.7版本下可以工作。我不知道为什么在3.8版本下不能工作。有人能帮忙吗?

w8f9ii69

w8f9ii691#

docker-compose 1.25.5中添加了3.8 compose版本(参考:https://github.com/docker/compose/releases/tag/1.25.5
Docker Desktop 2.3包含了新版本的compose,但它现在处于边缘通道。
如果你可以/不想使用Edge Channel,你可以在github发布页面https://github.com/docker/compose/releases上手动下载最新版本的docker-compose

cyvaqqii

cyvaqqii2#

请按照以下步骤解决此问题:

  • docker-compose(如果已安装)
sudo apt-get remove docker-compose -y
curl -O -J -L https://github.com/docker/compose/releases/download/v2.11.2/docker-compose-linux-x86_64

获取docker-compose的最新二进制版本

  • 使二进制文件可执行。
chmod +x docker-compose-linux-x86_64

  • 将其添加到二进制查找位置。
sudo cp ./docker-compose-linux-x86_64 /usr/bin/docker-compose

  • 检查版本
docker-compose version

iibxawm4

iibxawm43#

在我的情况下,我解决了通过更换版本到3.3作为错误日志显示.
我的Docker compose位于:/usr/bin/docker-compose
其版本为:docker-compose version 1.20.0,build xxxxxx
我完全同意Docker官方网站对我来说是错误的3.9版本。

vc6uscn9

vc6uscn94#

在我的情况下,我失去了自定义的位置设置摆在首位,我这样配置的位置,它的工作原理:

{
  "id": 1,
  "created_on": "2023-11-04 18:48:54",
  "modified_on": "2023-11-04 20:52:05",
  "owner_user_id": 1,
  "domain_names": [
    "likegiver.com"
  ],
  "forward_host": "8.219.255.71",
  "forward_port": 81,
  "access_list_id": 0,
  "certificate_id": 7,
  "ssl_forced": true,
  "caching_enabled": false,
  "block_exploits": false,
  "advanced_config": "",
  "meta": {
    "letsencrypt_agree": false,
    "dns_challenge": false
  },
  "allow_websocket_upgrade": true,
  "http2_support": false,
  "forward_scheme": "http",
  "enabled": 1,
  "locations": [
    {
      "path": "/game",
      "advanced_config": "",
      "forward_scheme": "http",
      "forward_host": "8.219.255.71/game",
      "forward_port": 8000
    }
  ],
  "hsts_enabled": false,
  "hsts_subdomains": false
}

字符串
我使用nginx作为反向代理,这样我就不需要使用http://likegiver.com:8000/game来访问我的网站。我可以使用https://likegiver.com/game代替。

相关问题