【发布时间】:2016-03-17 04:33:18
【问题描述】:
我可以使用以下命令进入 docker 容器
os.system('docker exec -ti $(docker ps -q -a --filter "name=XXXXX") /bin/bash')
然后我需要切换到容器中的以下目录。
/u01/oracle/weblogic/*****
当我使用os.chdir("/u01/oracle/weblogic/*****") 时,我得到No such Directory error。
我可以看到os.getcwd() 仍在打印运行 python 脚本的上一个目录而不是 docker 目录。
有人可以告诉我我缺少什么吗?
【问题讨论】:
-
当您依次运行这两个命令时,您将更改脚本所在主机上的工作目录,而不是在容器内
-
那么,如何进入容器文件夹结构,类似于
/u01/oracle/weblogic -
使用
subprocess模块而不是os.system()并通过管道传递您要使用的命令。但一般来说:您不应该从 docker 容器外部执行自动化任务,这会破坏概念码头工人。 -
非常感谢@KlausD。我会以码头工人的方式思考!
标签: python python-2.7 docker