如何为新的 docker compose (v2) 命令指定 docker-compose 别名?

s.k*_*s.k 2 alias docker

我注意到 docker-compose 1.x 正在逐渐被放弃,取而代之的是新的 v2:
\n https://www.docker.com/blog/announcing-compose-v2-general-availability/

\n

因此,我删除了docker-composev1.x 命令(我认为这是可行的方法,但我无法再找到有关如何安装/卸载 docker-compose 的旧文档):

\n
$ sudo rm -rf /usr/local/bin/docker-compose\n
Run Code Online (Sandbox Code Playgroud)\n

然后我根据文档安装了新版本:

\n
$ sudo apt-get install docker-compose-plugin\n
Run Code Online (Sandbox Code Playgroud)\n

并查看\xc3\xa0:

\n
$ docker compose version\nDocker Compose version v2.5.0\n
Run Code Online (Sandbox Code Playgroud)\n

但我所有用来调用docker-compose(用破折号)的脚本都不再工作了。明显地。

\n

因此我的问题是:我如何将新的 compose 命令别名为docker-compose

\n

将此行添加到文件中是否足够.bashrc

\n
$ echo "alias docker-compose=\'docker compose\'" >> ~/.bashrc\n$ source ~/.bashrc\n
Run Code Online (Sandbox Code Playgroud)\n

Art*_*ild 6

最简单的解决方案是创建一个别名,就像您在问题中所述:

alias docker-compose='docker compose'
Run Code Online (Sandbox Code Playgroud)

这将毫无问题地工作。

另外,我建议使用aptpackage安装 Docker Compose docker-compose-plugin,而不是使用 手动安装curl,除非您有充分的理由这样做。

通过安装apt(这是 Ubuntu 上的推荐方式),您可以确保可以使用新的 Docker 版本apt upgrade甚至无人值守升级来自动更新 Docker Compose。


小智 6

添加别名.bashrc适用于大多数情况,但对于某些脚本可能不起作用。

docker-compose恕我直言,创建一个以您的名字命名的小脚本PATH,仅传递参数docker compose是解决问题的更好方法。

这个答案可能有帮助: /sf/answers/5053131121/

  • 在某些边缘情况下,您是 100% 正确的,函数可能比别名更通用(最值得注意的是,如果脚本尝试使用 sudo 执行,并且您尚未实现 [sudo/alias](https:// askubuntu.com/questions/22037/aliases-not-available-when-using-sudo)解决方法) - 赞成! (2认同)