我有一个基于ubuntu的开发者docker镜像:14.04,我用它为Ubuntu 14.04开发应用程序.我在机器启动时启动此图像docker start image-name
我的主目录在最初创建时使用--volumes绑定装入.
要输入图像,我在其中定义了别名 .bash_aliases
alias d_enter="docker exec -ti ub1404-dev /bin/bash"
Run Code Online (Sandbox Code Playgroud)
所以要输入我刚输入的图像 d_enter
但我经常忘记在输入长路径后运行d_enter,并希望d_enter自动切换到该内部目录.
以下不起作用.
docker exec -ti ub1404-dev /bin/bash <(echo ". ~/.bashrc && cd $(pwd)")
Run Code Online (Sandbox Code Playgroud)
还有另一种方法可以达到预期的效果吗?
例如,如果我当前的工作目录是: /home/matt/dev/somepath/blabla
然后我输入d_enter,我当前的工作目录变成了:/home/matt在exec之后我想要为当前目录做什么/home/matt/dev/somepath/blabla
从API 1.35+起,您可以使用-w(--workdir)选项:
docker exec -w /my/dir container_name command
Run Code Online (Sandbox Code Playgroud)
https://docs.docker.com/engine/reference/commandline/exec/