使用 docker 命令在 shell 中明确使用别名

Use explicitly alias in shell with docker command

我的 .bashrc 中有一个别名:

alias ansible-galaxy='sudo docker run --rm -it -v $PWD:/app  myregistry.com/ansible-galaxy:2.1.0.0'

在我的shell中,我必须做:

ansible-galaxy -c -r -f galaxy.yml

是否可以在一个术语中写出完整的命令?

看来如果我执行

sudo docker run --rm -it -v $PWD:/app  myregistry.com/ansible-galaxy:2.1.0.0 -c -r -f galaxy.yml

它进入 docker 容器并且不再找到 docker 主机中的 galaxy.yml。知道我该如何解决吗?

您似乎正在将当前工作目录挂载到容器内的 /app 文件夹中 -v $PWD:/app

尝试 运行 这个 ansible-galaxy -c -r -f /app/galaxy.yml 因为你的 galaxy.yml 在 $PWD 中,它应该在容器内的 /app 文件夹中可用。