Openshift online - how to define and use image pull secret - openshift

I would like to create an image pull secret for an image saved on dockerhub. However, it does not work for me. I suspect the error on one of the following spots:
Registry server address - I used https://registry.hub.docker.com. But I am unsure how to tell the system the name of the image on dockerhub
When deploying the image to my Openshift project, I am being asked for an image name. What should I enter here? The name of the image pull secret?
Thank you.

Finally I could find a way which works for me:
1/ the repo server address is https://index.docker.io
2/ I have to pull the image by /

Related

Why does REST API not work on my local MediaWiki?

I've successfully installed MediaWiki on my laptop. Here is the entry tease out.
As you can see, the link to this entry on my local host is http://192.168.56.1/wiki/index.php/tease_out. Then I want to use REST API to convert this page to html. The corresponding link on the online Wiktionary is https://en.wiktionary.org/w/rest.php/v1/page/tease_out/html. The desired result is
Then I try http://192.168.56.1/w/rest.php/v1/page/tease_out/html. But it shows
Could you please elaborate on this issue and how to solve it? Please let me know if you need further information.

openshift how imagestream track the image changes?

I found that Openshift ImageStream concept are extremely difficult to understand. Openshift introduce one more abstract layer (compare to Kubernetes) to ensure:
However, if the image stream tag used by the Deployment or Build is
not updated, then even if the Docker image in the Docker registry is
updated, the Build or Deployment will continue using the previous
(presumably known good) image.
I don't quite understand how this can be achieved? I read through ImageStream, ImageStreamTag and ImageStreamImage, they are just a pointer (or metadata) which pointing to external image. It doesn't contain actual image.
I can confirm that, after I created a ImageStream (which getting image from docker hub), the image is not pushing to Openshift default registry docker-registry.default.svc:5000, I inspect inside but couldn't find it. Vice versa it is valid, that mean if I push the image to default registry, the ImageStream will be created automatically.
Let's see the example below:
myImageStream:latest -> docker.hub/myNameSpace/myimage:latest (SHA-1234)
If I push a new image to docker.hub latest tag with SHA-5678, and if didn't set the ImageStream as --scheduled, that mean, my pod will always use the image SHA-1234.
Let's say if there is a new pod is spin up in another worker node, since the worker node doesn't have the image SHA-1234, it will start a fresh pull from docker.hub, and it will get SHA-5678.
This violate the so-called "known good image", and even worst because two different version of image are running. I am totally confused about this, can anyone give further explanation on how Openshift ImageStream works?
Reference:
https://blog.openshift.com/image-streams-faq/
https://docs.openshift.com/container-platform/3.9/architecture/core_concepts/builds_and_image_streams.html#image-streams
I access the default registry using this. I scan through the images folder, my images indeed is not there. But then I pull the images in my master node via
docker pull docker-registry.default.svc:5000/NAMESPACE/REPO:TAG
I can successfully pull the images. After that, I push again the same image to the same registry docker-registry.default.svc:5000. Then in the registry path /registry/docker/registry/v2, my image is showing there.
This is very weird phenomena, I only have one registry running, but looks like it handle the images location differently.
Conclusively, by the way, Openshift indeed cache the specific image somewhere so even the actual remote docker image (in docker hub) is changed, it will always use the known-good version in the cache.

Magento images not showing anywhere

I just installed a fresh copy of Magento 1.9.2.3. Now my issue is when I try to upload any images, be it product, category, transactional email, ect. it gives me the little broken image placeholder. Now the steps I have tried so far:
Changed \media folder to 777
Flushed all Cache (Magento and images)
Read endless questions on similar issues but to no avail.
This is happening in the frontend and Admin
I have checked the link it creates to the image and when I put that in the address bar it gives me a "404 not found" error.
I have checked that the image is indeed uploaded to the folder that the site is pointing to.
Note: I have had Magento running on this server previously, but it is one to two versions older.
URL is http://southernperformanceparts.com - In case you want to take a look
Screenshot
Can anyone give me some direction here.
Thank you in advance.
Seems to be a right problem.
Are the images set to 644?
You could change your Uploader.php (lib/Varien/File)
search for "chmod($destinationFile, 0640);" and change it to 0644
and search for
"if (!(#is_dir($destinationFolder) || #mkdir($destinationFolder, 0750, true)))" and change it to 0755
In the future the images should get the correct rights after uploading.

How to make a html Project live if i have Godaddy domain details

Hi everyOne it might be a wrong Question to ask here but i am very new in making any website live , i dont know the basic steps to make any html project which is created in Eclispe .
Please suggest a way , which i can follow !
Login to Godaddy, go to the control panel and from there try to find the file manager. You can upload your files there to the root of your website (The root is just like www.bob.com not a sub domain hello.bob.com).
Before you upload make sure your homepage is index.html.
I hope this helps!
You need to connect your server to the domain ip. If you have a server, put your files there, and then find out the dns. usually 2 addresses, somethign like ns1.address.com & ns2.address.com
Then in godaddy update your dns to match your server. you can try this video: http://www.youtube.com/watch?v=pKBErrvGHaY

html - Pictures not showing up on Heroku?

I deployed my static HTML website to Heroku using this tutorial (http://www.lemiffe.com/how-to-deploy-a-static-page-to-heroku-the-easy-way/) and my pictures won't show up ? It works perfect locally so I don't really understand why it doesn't when it's deployed on Heroku ?
I've also looked up every other solution that stackoverflow has to offer and nothing worked for me. Any help is really appreciated
Here is the order of my folders/files (folders are capitalized):
-RESUMEAPPCOPY
-home.html
-portfolio.html
-index.php
-aboutme.html
-PUBLIC
-IMG
-JS
-CSS
Code for image:
<img src="/Users/erv/Desktop/MyProjects/resumeappcopy/public/img/PennUnitedWebsite.PNG" alt="PUSA-Icon" class="img-rounded" style="height: 300px;"/>
Whenever I inspect the element on Heroku it says :
Failed to load resource: the server responded with a status of 404 (Not Found)
and where the picture is supposed to be I have the typical broken image link picture
Your <img> tag is pointing to an absolute path that exists on your local filesystem, but does not exist for your Heroku app. Instead, provide a relative path (relative to the HTML file invoking the <img> tag, that is) to your image asset, commit the change to version control, then redeploy to Heroku.
Assuming that your public directory is actually nested within the resumeappcopy directory, the following path should work:
<img src="public/img/PennUnitedWebsite.png" alt="PUSA-Icon" class="img-rounded" style="height: 300px;"/>
UPDATE:
Note that the cited asset URL points to an asset with the file extension PNG in uppercase. However, the file's actual file extension is png – in lowercase (see here). Your local filesystem is probably insensitive to case when looking up a resource – but Heroku is not. You'll need to ensure that you're properly invoking the correct casing for resources when you deploy to Heroku.
I had the same problem and found the problem to be the capitalized file type ('.PNG'). I believe Heroku is searching for files without any .toLowerCase() function applied. Which means you must request an exact match between your markup and your file with capitalization being important.
This wasn't a problem on my local node / express server but became an issue after deploying to Heroku. Some of my images were showing up but others were getting 404 errors (i.e. the ones with capitalized file types). The smart thing to do is to always make your file types are lower case.
I changed this:
<img src="public/img/PennUnitedWebsite.PNG" alt="PUSA-Icon" class="img-rounded" style="height: 300px;"/>
To this:
<img src="public/img/PennUnitedWebsite.png" alt="PUSA-Icon" class="img-rounded" style="height: 300px;"/>
I hope this helps anybody that came across this issue as it confused me for at least an hour. Good luck!
You are giving an absolute path to the image:
/Users/erv/Desktop/MyProjects/resumeappcopy/public/img/PennUnitedWebsite.PNG
The image works locally, but cause this directory exists on your local machine; it does not exist on Heroku.
You need to use a path that is relative to the directory being served by Heroku / your server:
/../PUBLIC/img/PennUnitedWebsite.PNG
(this assumes that your link exists in an HTML file in the RESUMEAPPCOPY directory)
The only answer that hits the nail right on the head: Heroku is case-sensitive!
Took me half a day to figure that out!
Well , whenever your Web-page's contain HTML, CSS and JavaScript , so follow just 2 steps :
1) Make one file give name as index.html (keep evreything in it) ex:script,stylesheet & body.
2) Now, change these file, copy and paste these same file but change domain to index.php
Then deploy on a Heroku , Keep your images downloaded in one folder with index.html
Hence this method will help you to deploy your Web-Pages
In summary, to properly load the images:
1) Use relative url path relative to index.html
2) image file extension needs to be png instead of jpg, and write it in lower case, eg: "cat.png"
Heroku is case sensitive with images so make sure all your images are set to lowercase names.
Referencing from the frontend view "catPicture.png" won't work but "catpicture.png" will work. It's a big quirk! Took me hours to solve this.
If the image has a large size it will not load on the Heroku on a free version.
You can resize the image in an image editor (ie: paint) to reduce the size but it will also reduce quality.
Then push by the following commands
git add .
git commit -m "resize"
git push heroku master
It should work 👍👍
I had the same problem: case-sensitive png files. But to fix the issue I suggest lowerCasing them AND changing the name of the image file. This way you can be safe (and more organized in your versions) when you commit them to git and push to heroku
I had the same problem.
change the jpg image file to png.
worked for me
I had similar problem recently on Windows OS. Pictures loaded properly when tested localy, but on heroku some of the pictures were loading while others where not. And pictures were in the same folder! My paths and script were correct, but as others mentioned it was a case-sensitivity problem. I renamed the files, uploaded again but it didn't help. Why? Because changing the letter case is not recognized as real change for git on windows. To properly load newly named files i did those steps (all commands can be found at heroku tutorial pages):
Destroy heroku app and make a new one
Delete .git folder from your directory
Create new git remote for your app
Push all your files again
This way, heroku files will have names of files the way you like. Worked for me.