Tag: 织物

fabric命令在本地上下文失败grep命令

我在OS X上使用boot2docker。 我正在尝试使用结构来简化为我们的QA运行Docker容器。 运行这个命令… containerFound = fab.local('docker ps -a | grep nodejs', capture=True) # this didn't work either if fab.local('docker ps -a | grep nodejs').succeeded 生成以下错误: Fatal error: local() encountered an error (return code 1) while executing 'docker ps -a | grep nodejs' 这是使用boot2docker的问题。 我尝试使用sudo,但没有。 我相信boot2docker作为root运行,所以不需要sudo。

python结构运行awk命令返回一个KeyError:'print $ 1'

我正在使用python结构运行命令,它不起作用,并给我一个KeyError: run('docker ps -a | grep {} | awk "{print $1}"'.format(container_name)) KeyError: 'print $1' 但是如果我用%sreplace.format,它可以工作,那怎么可能: run("docker ps -a | grep %s | awk '{print $1}'" % container_name) 我的Python版本2.7.8,“.format()”肯定可以工作,它似乎与“awk”命令有关。

在远程计算机上执行docker容器上的命令

我有Docker在主机上运行。 该主机上有两个docker容器,即container_1和container_2。 现在我想从远程开发机器上执行container_1上的一些命令。 pipe道分隔命令即, sudo docker exec -it container_1 sudo find <dir> – type f -iname *_abc_* -print0 | du –files0-from – -b | awk 'BEGIN{sum=0} {sum+=$1} END{print sum}' 上面的命令只是先执行命令,直到第一个pipe道在docker容器上执行,下一个命令在主机上执行。 我使用python结构api从远程机器执行此操作。 有什么办法从远程机器上执行这个完整的容器命令?

在Docker容器中创builddjango超级用户而不input密码

我打算创build超级用户在Django泊坞窗容器与织物。 要在django中创build超级用户,我需要以django交互模式运行这个工具: ./manage.py createsuperuser 而且因为我想让它运行在结构脚本中,所以我觉得这个命令可以避免input密码 echo "from django.contrib.auth.models import User; User.objects.create_superuser('admin', 'admin@example.com', 'pass')" | ./manage.py shell 然后我把它和“docker exec”放在一起,在我的django容器中运行 docker exec container_django echo "from django.contrib.auth.models import User; User.objects.create_superuser('admin', 'admin@example.com', 'pass')" | ./manage.py shell 问题出现在它的左边(包括docker exec)的pipe道(|)pipe道(|)的右边(./ manage.py shell) 这不仅是困难的一部分,考虑把所有这些垃圾放到一个织物运行,这意味着他们需要两端引号。 它会使整个事情非常丑陋。 fabric run: run("docker exec container_django {command to create django super user}") 我仍然在努力如何至less在一个面料运行垃圾工作,但我不知道该怎么做。