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:
块。
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:
块。