Se eu executar o código a seguir, posso converter o arquivo csv em um formato que eu exija.
import csv
import json
csvfile = open('/tmp/head.csv', 'r')
jsonfile = open('/tmp/file.json', 'w')
fieldnames = ("user","messageid","destination","col1", "col2", "code1","code2", "mydate", "status")
reader = csv.DictReader( csvfile, fieldnames)
for row in reader:
jsonfile.write(json.dumps(row))
Quando executo o código no prompt de comando, ele funciona.
python covert.py
Mas se eu criar um contêiner docker, o ubuntu se recusou a gravar no disco.
alias python34='docker run -i -v "$(pwd)":/tmp/ --rm shantanuo/pyrun:3.4 python "$@"'
python34 /tmp/convert.py
Eu tenho erro de falha de segmentação. Eu tentei desativar o firewall ubuntu usando
sudo ufw disable
Eu tentei remover o apparmour. Mas ainda não consigo escrever para / tmp / folder da máquina host através do container python.
Este é um problema específico do Ubuntu. Eu posso usar o mesmo alias na instância do Amazon Linux ec2.