Small post to explain that if you ever need to use oc run and need to mount a volume for the process, then it is possible to do this by using overrides:

Initially create the bash-claim pvc:

oc create -f

Once the PVC is created you can use oc run with overrides to attach the PVC, note that the image is notused, since the image itself is overriden by the json overrides:

oc run some-pod --overrides='
        "spec": {
            "containers": [
                    "command": [
                        "for i in {1..5}; do echo hi stuff; sleep 5; done"
                    "image": "",
                    "name": "some-pod",
                    "volumeMounts": [{
                        "mountPath": "/var/data",
                        "name": "some-data"
            "volumes": [
                    "name": "some-data",
                    "persistentVolumeClaim": {
                        "claimName": "bash-claim"
'  --image=notused --restart=Never

It can be seen that the pod has mounted the volume.

[user@localhost ~]$ oc describe pods/some-pod
Name:         some-pod
    Environment:    <none>
      /var/data from some-data (rw)
      /var/run/secrets/ from default-token-xg5mj (ro)
  Type           Status
  Initialized    True 

All available on this public gist