[Share Experiences] 不知道有没有和我一样火星的
Tofloor
poster avatar
吉吉如律令
deepin
2023-08-17 02:24
Author

我用Linux系统大多数时候都仅仅是用来运行docker,说到docker就很难绕开docker compose,在没有图形界面的情况下,用docker compose创建和管理容器显然比只用docker要轻松的多

docker官网提供了两种安装docker compose的方式,一是将其作为docker的插件进行安装,二是独立安装docker-compose

然而问题就出在了这里,以创建容器为例,如果是安装的插件,那么命令应该是 sudo docker compose up -d

而如果是独立安装的话,那么命令应该是 sudo docker-compose up -d

我最早在网上看到的教程使用的是docker-compose,并且后来看到的大多数教程也都是用的docker-compose,所以下意识的以为docker compose是名称,docker-compose是命令,即使我日后看见有的教程写的是docker compose,也只认为是教程不小心写错了,有一段时间我甚至特别好奇,按照官网的教程安装docker,那个docker-compose-plugin是做什么的,即使安装成功了,也无法使用docker-compose命令,只能苦巴巴地从github上慢吞吞的下载docker-compose文件,即使后来知道可以通过ghproxy这一类镜像网站加速下载,但在早期这个漫长下载过程着实让我难受

直到今天看到一个视频教程里用了docker compose命令,才终于意识到问题

查了一下,最开始只有docker-compose,但是docker 1.27.0版本后,docker compose被集成到docker cli中,无需独立安装了,但docker-compose项目仍然还在继续维护,于是就有了这两个功能一样却不同的版本

Reply Favorite View the author
All Replies
2023开始学习
deepin
2023-08-17 04:13
#1

我是原始人,没有用过compose。

Reply View the author
爱开发
deepin
2023-08-17 04:49
#2

docker-compose 是 V1,使用 python 语言写的,依赖 python。

docker compose 是 V2,使用 go 语言写的。新版本 docker 自带了。是属于插件的性质。旧版本 docker 也可以手动安装。我之前写有一个安装脚本,主代码为

    curl -SL "https://github.com/docker/compose/releases/download/${VER}/docker-compose-${OS}-${ARCH}" \
        -o "${HOME}"/.docker/cli-plugins/docker-compose

    chmod +x "${HOME}"/.docker/cli-plugins/docker-compose

    docker compose version
Reply View the author
Feng Yu
deepin
2023-08-17 05:31
#3

话说,这些都是docker官方文档的内容,你不看官方文档吗?官方文档对这些有详细的介绍的,看过之后就不会有这个问题了

Reply View the author
浪云
deepin
2023-09-24 19:32
#4

就像买洗衣机,复印件,没人看说明书一样

Reply View the author