[英]Unable to change the working directory inside a docker container using python script
[英]create directory in docker by python script
我嘗試通過python腳本在docker中創建一個目錄。
我試過:
import os
def create_table(table_name, csv_path):
os.system("docker cp " + csv_path + " 429c027af50d:/root/go/src/github.com/uber/aresdb/examples/")
os.system("cd aresdb-docker")
os.system("docker start 429c027af50d")
os.system("docker exec -it 429c027af50d bash")
os.system("cd /root/go/src/github.com/uber/aresdb/examples/")
os.system("mkdir " + table_name)
create_table("detections", "detections.csv")
問題是該目錄是在 docker 之外創建的。
如何在docker中創建目錄?
您正在主機操作系統上運行 mkdir。
你不需要docker exec -it 429c027af50d bash
只需執行"docker exec 429c027af50d mkdir " + table_name
,其中表名是目錄的完整路徑
FWIW,對於這種簡單的 bash 命令,我建議使用 shell 腳本而不是 python
為什么目錄是在docker容器之外創建的?
- 這一行os.system("docker exec -it 429c027af50d bash")
在子外殼中執行,一旦成功,子外殼就會被銷毀,而在 cli 上,我們看到我們正在更改為容器的外殼。 因此,上述行之后的任何內容都只是在您的系統外殼上運行,而不是在容器外殼中運行。
為了創建文件夾,請改用它:
os.system("docker exec -it 429c027af50d mkdir /root/go/src/github.com/uber/aresdb/examples/" + table_name)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.