Docker on plesk - #162
Conversation
chapter file added
Plesk Docker Article
doc file previously incomplete. Updating, might need to add images.
Reversion to original work.
Add CL preq. already amended on doc dev site.
dransome
left a comment
There was a problem hiding this comment.
Mostly needs better alt text, but a few points require tidying up a bit as well.
| Search for your desired application image > Select specific image > Select version. | ||
|
|
||
|
|
||
|  |
There was a problem hiding this comment.
Please make the alt text more descriptive and specific. For example:
Screenshot of Plesk Docker extension showing search results for valkey.
There was a problem hiding this comment.
Done.
The word tag was mentioned specifically since it a key technical word.
There was a problem hiding this comment.
Unclear what was done? Alt text for the image seems to be unchanged?
There was a problem hiding this comment.
Valkey image search results, with the selected image highlighted in purple
|
|
||
| If it fails, you will receive an error message in the top right corner of your dashboard. | ||
|
|
||
|  |
There was a problem hiding this comment.
Please make the alt text more descriptive and specific
There was a problem hiding this comment.
Image showing the Stopped state and the Start state of containers
|
|
||
| When that file is in place, recreate your web facing container. | ||
|
|
||
|  |
There was a problem hiding this comment.
Please make the alt text more descriptive and specific
There was a problem hiding this comment.
Screenshot of NGINX lb container details, with the hamburger many highlighted in purple and the Recreate button higlighted in green
|
|
||
| Stopping or removing a stack can be done through the highlighted button below. | ||
|
|
||
|  |
There was a problem hiding this comment.
Please make the alt text more descriptive and specific
There was a problem hiding this comment.
Screenshot of the demo-stack details, with purple highlighted hamburger menu showing the options Deploy, Watch, Stop and Destroy
|
|
||
| Below we have a mapping for | ||
|
|
||
| /var/lib/docker/volumes/valkeycache > /var/lib/valkey. |
There was a problem hiding this comment.
I think the key part here is to explain that the path on the left side is the VPS, and the path on the right side is where that gets mounted inside the container.
Perhaps something like this:
Volume mapping allows you to specify a persistent storage location for data used by your Docker Container. This data persists between redeploys of the container, whilst all other data within the container is ephemeral.
We recommend to store your docker volumes in a consistent path, such as within
/var/lib/docker/volumes. This is the location where that data will reside on your VPS.Therefore for our example Valkey container, we might use
/var/lib/docker/volumes/valkeycache.We mount that volume at
/var/lib/valkeyinside the container. This allows the container to read and write data in that location (but it cannot traverse above that path on the VPS).
There was a problem hiding this comment.
rewritten and expanded
There was a problem hiding this comment.
and little more to mention the limit on being unable to escape the directory.
There was a problem hiding this comment.
I think maybe this revision got lost in the tab closing calamity?
There was a problem hiding this comment.
Expanded to be a little more explanatory and clearer.
| We do offer support for the setup of Docker on Plesk, Plesk and server related issues you may experience while installing and operating your containers. | ||
|
|
||
| ## License | ||
| Should you wish to manage multiple Docker servers from a single point, you will need to purchase the Remote Docker license. For more information please see the documentation or contact Support. |
There was a problem hiding this comment.
I think including this kind of complicates life a bit more than necessary, but if we're stating it I think we can do so more clearly:
A paid license option is available to enable you to manage Docker containers hosted on multiple different servers from a single interface (please contact billing@layershift.com for assistance), but managing containers hosted locally by a single Layershift Managed VPS is included at no additional cost.
There was a problem hiding this comment.
Unsure if this is precise enough:
from a single point
However, I don't currently have a better phrase in mind.
For more information please see the documentation or contact Support.
I dislike this (it's inaccurate). Please use my proposed wording:
(please contact billing@layershift.com for assistance)
|
Small basic comment, I had made all the changes. Forgot to push commit before closing the windows and going to handle a ticket. If something seems like it should be there and it isnt. Please bare with me |
Not finished, re-doing my updates. If something is not there, it will be tomorrow.
dransome
left a comment
There was a problem hiding this comment.
I think you misunderstood the image alt text requests. Please review https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/alt
Which in markdown means:
https://www.markdownlang.com/basic/images.html#best-practices-for-alt-text
|
|
||
|
|
||
|  | ||
| Docker comes pre-installed on all Layershift Plesk servers, so no need for installation. Just look to the left hand panel and you should an option labelled Docker. |
| Search for your desired application image > Select specific image > Select version. | ||
|
|
||
|
|
||
|  |
There was a problem hiding this comment.
Unclear what was done? Alt text for the image seems to be unchanged?
|
|
||
| Docker uses the term "Tag" to refer to the version details of a particular image. The version is split into both the numbered version (9.1.0 below) and the named version. Alpine, Trixie, rc2 in the image below. | ||
|
|
||
| If you are uncertain which version, use "latest" |
There was a problem hiding this comment.
I consider this to be bad advice. Using "latest" is dangerous because what is "latest" when you deploy it becomes unclear later.
It's recommended best practice to avoid using "latest" and instead always use an explicit named version; that way you can see exactly what version you have deployed at any moment just by looking at the tag (which will prove to be important information to know for compatibility and security reasons).
There was a problem hiding this comment.
I guess I got bad advice before. Fair enough.
Edited.
|
|
||
|
|
||
|
|
||
| Docker uses the term "Tag" to refer to the version details of a particular image. The version is split into both the numbered version (9.1.0 below) and the named version. Alpine, Trixie, rc2 in the image below. |
There was a problem hiding this comment.
The naming scheme for Docker tags is entirely arbitrary (up to the image author's choice), so I don't think we should attempt to explain it.
There was a problem hiding this comment.
explanation removed
|  | ||
|
|
||
|
|
||
|  |
There was a problem hiding this comment.
Image alt text appears to be unchanged?
|
|
||
| Should you wish to run a docker-compose.yaml file and setup a whole stack like the below. There are multiple ways you can upload your compose file. | ||
|
|
||
|  |
There was a problem hiding this comment.
The image alt text is the problem.
| We do offer support for the setup of Docker on Plesk, Plesk and server related issues you may experience while installing and operating your containers. | ||
|
|
||
| ## License | ||
| Should you wish to manage multiple Docker servers from a single point, you will need to purchase the Remote Docker license. For more information please see the documentation or contact Support. |
There was a problem hiding this comment.
Unsure if this is precise enough:
from a single point
However, I don't currently have a better phrase in mind.
For more information please see the documentation or contact Support.
I dislike this (it's inaccurate). Please use my proposed wording:
(please contact billing@layershift.com for assistance)
There was a problem hiding this comment.
We can make this unambiguous by inserting local here:
You do not need a license to manage the local Docker service running on your Layershift Plesk server.
There was a problem hiding this comment.
Caveat added and rewording on licensing done.
|
|
||
| #### Upload Image | ||
|
|
||
| If you have your own custom images that you would like to use, following the instructions in https://docs.plesk.com/en-US/obsidian/administrator-guide/plesk-administration/using-docker.75823/#o77137. |
There was a problem hiding this comment.
The linked "Creating Images with Custom Settings" section of Plesk doc describes something very different (though it's a useful feature in its own right, that we should probably mention separately?).
That feature/documentation is a way to create an image derived from a currently deployed container.
However, uploading an image is a way to run an image that was created locally (on the customer's computer, not on the Plesk server) without publishing it to a repository such as Docker Hub.
We could/should link to some authoritative documentation for "how to build a Docker image" such as any of these (I don't have a strong opinion about which one, but I consider these to be likely to remain stable and authoritative, whilst linking to https://docs.docker.com/get-started/docker-concepts/building-images/ might get 404'd in future(?), and linking to something not in docs.docker.com is not sufficiently authoritative):
There was a problem hiding this comment.
Added a section "Going Further: Making your own docker image" on the end that details the documentation and our support level.
| Manual port binding is available if the "Automatic port mapping" button is deselected. You can set both the port you wish inside and outside the container and if you wish the port to accessible from the internet. It is always accessible from the server(127.0.0.1) | ||
| Manual port binding is available if the "Automatic port mapping" button is deselected. You can set both the port you wish inside and outside the container and if you wish the port to accessible from the internet. It is always accessible from the server (127.0.0.1) | ||
|
|
||
| You may have issues with pre-existing services or other containers already using a particular port. This is called a Port Clash and you can mitigate it through using manual port mapping and setting the port to an appropriate IP. |
There was a problem hiding this comment.
I think the port conflict issue needs to be formatted as a warning, and can probably be slimmed down a bit.
I also recommend to separate the issue of automatic vs. manual port binding (i.e. when to use which one) vs. how to decide which port can be used (if selecting a manual one).
Finally, is the "how to select a port number" guidance the best we can do? Reading it, I'm honestly not sure how to decide what port to use, and what happens if I get it wrong. Can we try to come up with something that's easier for the customer to follow / apply?
There was a problem hiding this comment.
Warning added.
The word IP was in there, changed to value.
I dont think we can be prescriptive on what port a customer should use, the best we can do is give them the information. At least, I don't know of any particular advice on port selection.
At times i've incremented for multiple of the same service, other times you use the port number again (8080, 2222).
I've done some minor changes, but im going to come and look at this with fresh eyes tomorrow.
Alt texts updated. Not finished all edits, just the alt text.
On Volume Mapping. COmmitting while I do a ticket.
All done except Port Mapping, which will be re-written tomorrow.
Going Further, Port Mapping.
KB Docker article, alongside attendant images.
And a reversion for a file that shouldnt have been edited.