1
votes

I have created a image locally in my windows system. The image copys the hello world application war file to liberty server. I am able to build and run the image locally in my system. But, I am unable to push the application to bluemix.

This is my docker file :

FROM registry.ng.bluemix.net/ibmliberty:latest
COPY HelloWorldWeb.war /opt/ibm/wlp/usr/servers/defaultServer/dropins/
ENV LICENSE accept
EXPOSE 9080 22

These commands are successful :

$ docker build -t libertytest1 c:/Microservices
$ docker tag libertytest1 registry.ng.bluemix.net/my_ibm/libertytest1
$ docker run --rm -i -t libertytest1

This command fails with below error :

$ docker push registry.ng.bluemix.net/my_ibm/libertytest1
The push refers to a repository [registry.ng.bluemix.net/my_ibm/libertytest1]
9f24cf425f1e: Pushed
5f70bf18a086: Pushed
f5115b19b62d: Pushed
d255f44e3bce: Pushed
3eb8d309e7a4: Pushed
b9ca157916fa: Pushed
9d3eae113364: Pushed
8077bafd5c40: Pushed
86a4f2b11dd6: Pushed
58de70953d07: Pushed
3a497f2a043d: Pushed
612baa4f0341: Pushed
63f90ec2c29b: Pushed
54f3ce62fc73: Pushed
7c7cf479c321: Pushed
manifest invalid: manifest invalid

When I login to bluemix and check my containers, I could not see this container. Please suggest how to resolve this error.

Note : I added a manifest.yml in my war file, but still the same error.

4

4 Answers

1
votes

Mostly like you are running with old version of Docker.

manifest invalid: manifest invalid

Please upgrade docker client (at least to v1.8.1) and try push again, you should be fine to push the image.

1
votes

In Docker 1.10, they've made a change to the way image manifests are generated.

The version of the Docker Registry that the IBM Containers Registry runs doesn't support images built with the new format, so you get the error you see when you try to push.

We're working to get pushes working again using the latest version of Docker, but for now you'll need to do one of the following:

  • Use the IBM Containers build service: cf ic build -t registry.ng.bluemix.net/my_ibm/libertytest1 c:/Microservices
  • Downgrade to Docker 1.9 on your machine and run your commands locally as above.

EDIT: the issue has now been resolved. You can push images using Docker 1.10 now.

1
votes

For anyone using Artifactory I ran into this same issue.

manifest invalid: manifest invalid

The fix was to update permissions for the Artifactory user account so it had both write, overwrite, and delete permissions.

0
votes

I have the same problem with last versions of docker and cf ic I solved it building the image directly on Bluemix using cf ic build command

cf ic build -t [Bluemix registry URL] [path to your docker file]