Windows docker image deployment in openshift - docker

I have created the docker image using .net core2.1 in my machine. then I pushed that image to my docker hub account. after that, I like to deploy that docker image in the azure open shift. I am using deploy image option in openshift. I got this issue.
Failed to pull image "myaccountname/docker-repository#sha256:ebe91623041fa6ccc4244b038": rpc error: code = Unknown desc = image operating system "windows" cannot be used on this platform

Related

When user linux docker image no issues, but windows docker image fails

I get the following error when using windows docker golang image...
Job failed: Error response from daemon: manifest for
golang:latest-windowsservercore-1803 not found
line from .gitlab-ciyml file...
image: golang:latest-windowsservercore
However, when I use the default golang image which is based on linux i think, it works fine with no errors.
the below works...
image: golang:latest
I need the build phase to build windows executable;le hence the change. I have tried lots of different permutations take from...
https://hub.docker.com/_/golang
but nothing works is there something I am doing wrong?
This image is based on Windows Server Core
(microsoft/windowsservercore). As such, it only works in places which
that image does, such as Windows 10 Professional/Enterprise
(Anniversary Edition) or Windows Server 2016.
golang-dockerhub
So if you using gitlib then there is also some limitation and combination of the container.
The Docker executor
GitLab Runner can use Docker to run jobs on user provided images. This
is possible with the use of Docker executor.
The Docker executor when used with GitLab CI, connects to Docker
Engine and runs each build in a separate and isolated container using
the predefined image that is set up in .gitlab-ci.yml and in
accordance in config.toml.
The following table lists what combinations of containers, executors, and OS are supported.
docker executor
You can check also window container limitation here

Update docker image in running deployment of oc console via oc commandline

I have created a deployment in openshift via webconsle where I am deploying a docker image from docker hub. I have selected the latest image while creating a deployment in web console where my image looks like hub.docker.com/test/test1:latest. So, currently the latest image is with tag 1 and it is running smoothly in the openshift console in a node.
Now for example I change my dockerfile and update the docker image in dockerhub with the latest tag 2 so what I am trying to do from a oc console is that I am trying to update the latest image in the openshift deployment to 2. I tried command oc rollout deployment name but it is giving me error that there is no deployment but I am still not sure about my command.
Any help and suggestions are appreciated.

Jenkins docker plugin + commit docker slave, how to push it to a external registry. Image saved on docker host configured in cloud template

I am able to start up a jenkins docker slave. I execute some shell command on the slave, after the build completes the image gets saved and tagged with build id of the job.
However, the image is getting saved into the docker host machine (i.e) the hostname of the machine given on the cloud template (Docker URL).
I want the image to be pushed or saved on a different docker registry.
jenkins machine
docker host (hosting jenkins slaves)
docker registry
I am using machine 1 to pull image from 3. Making changes to the image, on successful build push the image to 3 not to 2.
Take a look at running a Docker Distribution private registry server so you can pull and push to it.
Once you get that up and running, you can:
docker login https://<URL_OF_PRIVATE_REGISTRY>
docker pull <URL_OF_PRIVATE_REGISTRY>/<IMAGE_NAME>:<IMAGE_TAG>
docker tag <LOCAL_IMAGE_NAME> <URL_OF_PRIVATE_REGISTRY>/<IMAGE_NAME>:<IMAGE_TAG>
docker push <URL_OF_PRIVATE_REGISTRY>/<IMAGE_NAME>:<IMAGE_TAG>

How I use a local container in a swarm cluster

A colleague find out Docker and want to use it for our project. I start to use Docker for test. After reading an article about Docker swarm I want to test it.
I have installed 3 VM (ubuntu server 14.04) with docker and swarm. I followed some How To ( http://blog.remmelt.com/2014/12/07/docker-swarm-setup/ and http://devopscube.com/docker-tutorial-getting-started-with-docker-swarm/). My cluster work. I can launch for exemple a basic apache container (the image was pull in the Docker hub) but I want to use my own image (an apache server with my web site).
I tested to load an image (after save it in a .tar) but this option isn't supported by the clustering mode, same thing with the import option.
So my question is : Can I use my own image without to push it in the Docker hub and how I do this ?
If your own image is based on a Dockerfile that you build you can execute the build command on your project while targeting the swarm.
However if the image wasn't built, but created manually you need to have a registry in between that you can push to, either docker hub or some other registry solution like https://github.com/docker/docker-registry

Unable to see images built through docker remote api's in docker cli result

Docker remote api v1.6.:
I am using it to POST and build dockerfile. I can see my newly built images in the json image list output by same remote api, http://docs.docker.io/en/latest/api/docker_remote_api_v1.6/#id20 . During build i'm also tagging it with repository name, http://docs.docker.io/en/latest/api/docker_remote_api_v1.6/#id30.
To push this so generated image on the registry am using docker cli. But the reply from docker cli says
"No such id...".
Since am using docker cli to pull images as well i can't pull it as well.
Please help solving this sync issue in reflecting changes make through docker remote api's into docker cli result?

Resources