Docker GUI plugin now stable

  • It doesn't work here, don't know why.
    I Guess the auto-update feature works OK in Windows version... but never saw it working in Linux.


    There's even a message in Dashboard telling that there's a update available, but that it has to be done manually. :-/


    Also, when a container is stopped. can't be made possible to edit it's details? To add more volumes, add a environment path... ?

  • Not being able to edit containers was a limitation of docker itself when the plug-in was developed. I'm not sure if it's possible with later versions of docker.


    I promise that one of these days I'll stop to take a look and compare:
    - What commands/subcommands exists in Docker command line that is installed
    - Which of them are implemented
    - Which of them are not


    I'm loving Docker so I want to help.
    My next post here will be with those info (and whether there are things to implement or not)

  • 1. Export whole container as a Tarball (uncompressed)
    docker export -o test.tar CONTAINER_NAME


    2. Import tarball file as a new container
    docker import test.tar


    3. Rename a container's name
    docker rename OLD_CONTAINER_NAME NEW_CONTAINER_NAME


    4. List the processes runnings (runs PS inside container)
    docker top CONTAINER_NAME [optional ps parameters]


    --- VOLUMES ---
    I also understand from command line that each volume created with VOLUME CREATE could can be assigned a NAME and LABELS. Why are the labels all NULL and names so random? Isn't it possible to determine their name during creation based on the CONTAINER name and added "_" and then something at the end? this way you could see in DOCKER VOLUME LS which volume is from which container, and then use comands as DOCKER VOLUME CREATE and DOCKER VOLUME RM to allow some future editing (inserting, removing...) of volumes without the need of recreating everything.


    --- NETWORKING ---
    About networking, I understand that each time a new container is added into a network (example: a bridge), you have to recreate the whole network... that's what I understood from the command line. OK for now... but if that's how it works... why can't you make possible to edit existing networks? What if we forget a port in a container?


    Right... every time any little change will be made in a existing network (inserting or removing ports, for example), the whole network is remade, but there's no actual downside in doing that. Am I wrong?


    -- UPGRADING CONTAINERS'S IMAGE --
    About upgrading the image and distributing it to related containers, I understand that docker doesn't natively supports a command to do that. But that doesn't mean it can't be done.


    But...think with me... plugin knows all the containers configurations... we know it has today to be done manually... Nobody blocks you from scripting the existing manual process of:
    - Checking if the image's version is newer than the container's.
    - If YES, continue, if NO, stop right here and warn the user.
    - Stop the container
    - Save it's configurations (volume mapping, environment variables, ports, parameters, name, everything!!) in memory
    - Delete this old container
    - Recreate a new container with the new image, PLUS all the configuration saved above, exactly all of them
    - Start the new container



    Thanks for your attention!

  • @anderbytes First of, lots of nice ideas and suggestions! I'll try to answer as best I can below.

    1. Export whole container as a Tarball (uncompressed)
    docker export -o test.tar CONTAINER_NAME


    Is this something you use often? I've never used it myself so I don't know how "crucial" this feature is (same with import).


    3. Rename a container's name
    docker rename OLD_CONTAINER_NAME NEW_CONTAINER_NAME


    This was not available in the docker version present when I wrote the plugin. Should be very easy to implement though.


    4. List the processes runnings (runs PS inside container)
    docker top CONTAINER_NAME [optional ps parameters]


    Should not be any problem to implement.


    --- VOLUMES ---


    Volumes was on top of my "todo" list before time to keep up development just went away :) It's quite a big task if it should be made "usable". Regarding random names etc it's probably because I haven't looked at it very much...


    --- NETWORKING ---


    Modifying networking settings and much more is available in the 3.x beta version of the plugin (see below).


    -- UPGRADING CONTAINERS'S IMAGE --


    Last time I looked at this there was no way to find out if an image had been "upgraded" on the docker hub. However for linuxserver.io containers/images I've made it possible with the help of that team in the beta 3.x version of the plugin. It works very much like you have described your solution.


    On a general note the plugin doesn't store any information on containers/images available on the system. Every time the page reloads it fetches the info from the docker API to ensure that there are no discrepancies between the plugin and the actual situation on the system.


    Also as mentioned before the beta version of the plugin is only compatible with OMV 3.13 due to the change in data structures introduced in later versions of OMV. I will most probably not be able to port the plugin to support newer versions of OMV myself, but it will hopefully be done by someone else of the plugin developers (or by anyone else :) ).

  • Zitat

    Also as mentioned before the beta version of the plugin is only compatible with OMV 3.13 due to the change in data structures introduced in later versions of OMV. I will most probably not be able to port the plugin to support newer versions of OMV myself, but it will hopefully be done by someone else of the plugin developers (or by anyone else :) ).


    I will hope enybody can do it and bring a new data structures docker-plugin for omv

    omv 6.x | 64 bit | omvextrasorg 6.x |
    used plugins: omv-extras | portainer | rsnapshot | antivirus
    used container: portainer/portainer | nextcloud/all-in-one | linuxserver/swag | paperless-ngx | jellyfin/jellyfin | lmscommunity/logitechmediaserver | adguard/adguardhome |

  • Thank you for your efforts... and let's hope someone steps forward to maintaining this.


    If I had some spare time, I would, because it really seems as simple as understanding the WebGUI framework, and about all the commands and parameters of docker command line.



    About commands IMPORT/EXPORT, I can see a very fair use related to backup and restoring containers... for that, a TARBALL is just perfect.

    • Offizieller Beitrag

    I am going to try to finish porting it. I already created most of the datamodels but there is a lot of work left. Just don't get your hopes up too much. I don't use this plugin and I have very little time. The only reason I want to port it is because I recommend it all the time :)


    I will not be trying to implement new features though.

    • Offizieller Beitrag

    Good.
    Couold you point me what is the URL of it? I'm having trouble finding it...


    Tnx


    Did you look at my signature? :) I started the porting in the datamodels branch

    omv 7.0.5-1 sandworm | 64 bit | 6.8 proxmox kernel

    plugins :: omvextrasorg 7.0 | kvm 7.0.13 | compose 7.1.4 | k8s 7.1.0-3 | cputemp 7.0.1 | mergerfs 7.0.4


    omv-extras.org plugins source code and issue tracker - github - changelogs


    Please try ctrl-shift-R and read this before posting a question.

    Please put your OMV system details in your signature.
    Please don't PM for support... Too many PMs!

    • Offizieller Beitrag

    Yep, big change. Reduces a lot of code in most cases.

  • Another idea:


    Just like when you allow us to "Volumes from..." when creatig a container, you should create another listbox of existing containers to let us "--link" them when needed. This way, inside the new container, another container can be referenced by name instead of it's IP, whatever it is.


    Today, I was forced to use the extra parameters field.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!