簡體   English   中英

通過python腳本在docker中創建目錄

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM