Open a-roberts opened 5 years ago
@a-roberts Thanks for raising this issue. It seems the systems you get with OpenShift 3.11 have a docker version below the version we support on Appsody.
Changing all the stacks to use older syntax might be a lot of work.
I'd like to understand if there are mechanisms to get a newer version of docker, with OpenShift?
Alternatively, can we add additional checks in the cli to detect the docker version and help with the upgrade before we get too far?
@appsody/cli
OpenShift Container Platform 3.11 is supported on Red Hat Enterprise Linux 7.4
and later with the latest packages from Extras, including CRI-O 1.11 and
Docker 1.13. It is also supported on Atomic Host 7.5 and later.
chown issue is mentioned in the bugfix: https://access.redhat.com/errata/RHBA-2018:2652
I had a similar issue in that I wasn't able to get my node app running in OpenShift 3.11 but a different error. When I tried to deploy the appsody build into OpenShift 3.11 I got an error similar to Error: EACCES: permission denied, mkdir '/project/xxx'
. I was able to resolve it by doing the following:
Doing the two above allowed me to deploy my app successfully.
Describe the bug I'd like to be able to
appsody build
my Node.js Express stack on OpenShift 3.11.Unfortunately the Docker version I'm running is too old for at least the --chown flag to be recognised (and I'm guessing this is the Docker version that comes with OpenShift 3.11, it certainly does on my system I've provisioned), and I'm concerned other features can't be satisfied either so we should take a look
An
appsody build
command gives us:To Reproduce Steps to reproduce the behavior:
Expected behavior I expected this to work fine with the pre-reqs of OpenShift 3.11, so perhaps we should use the legacy approach defined here. Or, we need to clearly document that users need an updated Docker version. Or maybe my OpenShift provisioned Stack shouldn't be giving me such an old version and it's an issue with our stack provisioner configuration.
Actual behaviour I can't
appsody build
. I wanted toappsody build
to getappsody-service.yaml
to push to my GitHub repo to eventually deploy through Tekton.Environment Details (please complete the following information):
If applicable please specify:
Other details https://github.com/appsody/stacks/blob/master/incubator/nodejs-express/image/project/Dockerfile#L34
I'll do this all locally instead next with my good Docker version, but shouldn't we be able to build on OpenShift using Docker as well or should we instead be using an alternative like buildkit, buildah or Kaniko?