【发布时间】:2017-07-10 06:52:28
【问题描述】:
您可以使用 docker 容器在 docker 容器中执行 bash shell
sudo docker exec -it container bash
但我想要一个在容器中执行 bash shell,然后在 bash 提示符下执行更多命令的命令。
这样的命令目前有效:
sudo docker exec -it container touch test.txt | bash
但是,我想在 bash 提示符下运行的命令只能在 docker 容器中使用,所以我得到一个错误:
No such file or directory
是否可以使用 docker exec 执行 docker 容器本地的命令?
【问题讨论】:
-
命令
bash是容器的bash。如果您的容器没有 bash,这实际上可能会失败(参见图像alpine)。因此,如果您的容器有类似git的命令,您可以执行docker exec -it container git clone https://somegit。 docs -
您要运行什么命令。通过 docker exec 执行的每个命令都在容器内。
-
命令是指 bash 脚本吗?就像你想做
bash myscript.sh一样?如果是这样,您需要了解容器的工作目录(可以通过WORKDIR设置)。您可以通过在容器中运行pwd来找到它。