The JSON format you're using to override is incorrect. And kubectl ignores the fields it cannot recognise.
kubectl run -i --rm --tty ubuntu --overrides='
{
"apiVersion": "batch/v1",
"spec": {
"template": {
"spec": {
"containers": [
{
"name": "ubuntu",
"image": "ubuntu:14.04",
"args": [
"bash"
],
"stdin": true,
"stdinOnce": true,
"tty": true,
"volumeMounts": [{
"mountPath": "/home/store",
"name": "store"
}]
}
],
"volumes": [{
"name":"store",
"emptyDir":{}
}]
}
}
}
}
' --image=ubuntu:14.04 --restart=Never -- bash
For debugging run the command you specified and then on another terminal run this command:
kubectl get job ubuntu -o json
You'll notice that the actual job structure is different from the one you used (you were missing the nested template/spec, and volumes, volumeMounts, and containers need to be arrays).