Ubuntu - 升级 docker-compose 版本

Ubuntu - upgrading docker-compose version

Docker 的新手所以这可能是基本的,但在我谷歌搜索之后我仍然没有找到解决方案

我有一个 docker-compose.yml 文件,我正在尝试 运行(该文件的版本是“3.4”,但我收到错误消息:

"The compose file is invalid because:
     networks.default value Additional properties are not allowed ('name' was unexpected)

这是 docker-compose 文件失败的部分:

networks:
    default:
        driver: bridge
        name: nssams_bridge

当我运行(我在Ubuntu 20.04)

docker-compose --version

它说版本是 1.25.0,我不确定这个版本是否足够高以支持 3.4,这是我的猜测。

但我已经尝试更新 docker-compose 多种方式,其中 none 似乎有效。

我试过:

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

sudo apt upgrade docker-compose

以及

sudo pip install docker-compose

但在所有这些之后,docker-compose --version 命令仍然是 returns 1.25.0,build unknown

那么如何升级 docker-compose 版本?

name: option 是在 Compose 文件格式 3.5 中添加的,所以你的 3.4 太旧了一步。我会使用 3.8 或 3.9,除非你有特定的理由使用旧版本:

version: '3.8' # networks: { name: } requires a minimum of 3.5
networks:
    default:
        driver: bridge
        name: nssams_bridge

对于许多实际用途,您也可以让 Compose 选择网络名称,因为您很少会直接与它交互。如果您需要手动 docker network 命令或从另一个 Compose 文件引用网络,Compose 将使用当前目录的名称作为项目名称来命名网络 projectname_default。如果您可以接受,那么您可以完全删除此 networks: 块。