Docker GUI plugin now stable

  • Hey guys,


    Just chasing your advice.


    So I run OMV 2.x at the moment, I've moved off pretty much all the applications from running as Plugins on OMV directly, to docker containers. The docker base path is running on a separate SSD to the OS, all the containers also have their /config on the same SSD. So all nice and isolated from the OS drive.


    To upgrade to OMV 3.x, I'll either be running omv-release-upgrade with all the plugins removed via apt-get remove or installing from scratch, haven't decided on that yet.


    But in any event, once the Docker plugin is up and running on OMV 3.x, will it auto-magically pick up all my existing images and containers once the base path is pointed to where it was on the SSD beforehand?


    Thanks!

    • Offizieller Beitrag

    @nicjo814


    I am working on the plugin to deprecate the tcp consult api, instead using the unix socket domain. Practically there is no performance increase in rendering the images/container grids, main reason could be security, given that any unprivileged user can finger the tcp api port (inside the server), including the capability of firing containers, the other is that now php-curl supports unix sockets in php7.


    Most of the work is done in the backend, was mostly a sed over the source tree. But my concern is the upgrade scripts in the package upgrade so we can actually close the tcp port in DOCKER_OPTS


    Another issue is to finally get rid of the mount bind used for /var/lib/docker, this has been proven to cause trouble in with zfs. I was looking at why this was implemented in the first case but i got lost in the forum. We should stick with the usage of the -H parameter in DOCKER_OPTS and/or simply leave a note there for the user to create a symlink.


    Another thing is the copy contents from default folder to another one. I think of different storage drivers and my head goes in circles that this is a waste, maybe also space (thinking of COW fs to NOCOW fs).
    Maybe we could create a routine (bash-CLI) to save all images/containers and re-import them on other location which would be the proper way IMO according to docker documentation.

  • I am working on the plugin to deprecate the tcp consult api, instead using the unix socket domain.

    Great news! I never wanted to use the tcp port to begin with :)

    the other is that now php-curl supports unix sockets in php7

    This was exactly the issue I was having back when the plugin was created, thus I had to use tcp...

    But my concern is the upgrade scripts in the package upgrade so we can actually close the tcp port in DOCKER_OPTS

    What are your concerns regarding this?

    We should stick with the usage of the -H parameter in DOCKER_OPTS and/or simply leave a note there for the user to create a symlink.

    Sounds good to me.

    Maybe we could create a routine (bash-CLI) to save all images/containers and re-import them on other location which would be the proper way IMO according to docker documentation.

    I agree on this one too :)


    Really nice work with continuing the development of the plugin!

    • Offizieller Beitrag

    @nicjo814 I've tried to "normalize" the plugin to have more the mechanics of a standard omv plugin (using dirty modules and mkconf) but i had to revert all changes due to how the frontend is designed. Get's very complicated.


    So just take me out of doubt being cracking my head for this.....the disable plugin doesn't actually disable/stop docker daemon right?


    I went all through the OMVModuleDockerUtil::changeDockerSettings and rpc setSettings couldn't find a stopservice for when disabled. If you disable the plugin still shows docker daemon running


    was this your original intention just to disable the plugin was equal to disable container/image grid rendering?

  • The intention was to avoid crashes due to not having specified a port for the TCP API. The port is set in db when the plugin is enabled if I remember correctly. The plugin does not enable/disable docker service itself.

  • Hi Frosten,


    have you fixed your problem? I tried to install docker and got the same error message.


    Thanks in advance.


    Karsten

  • Just a quick question - since I haven't found a direct answer reading previous stuff:


    Should I use Docker or Docker CE repo from OMV-Extras?


    I'm using 3.0.90 ATM with 3.4.29 extras


    I'm planning to use UniFi and possibly nextcloud


    Thanks

    OMV erasmus 3.0.90 | omv-extras 3.4.29 | Xeon E3 1225 | 8GB ECC RAM | 2x3 TB WD Red | 1.5 TB WD Green | 1TB HGST

    • Offizieller Beitrag

    Docker CE because the old package is not being maintained by docker anymore and isn't supported at all in OMV 4.x.

    omv 7.0-32 sandworm | 64 bit | 6.5 proxmox kernel

    plugins :: omvextrasorg 7.0 | kvm 7.0.9 | compose 7.0.9 | cputemp 7.0 | mergerfs 7.0.3


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


    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!

  • I am also getting this problem on OMV 3 when I use the docker-ce on the extras, have been trying to search for a solution for a while now.

  • @fahmaih @DeepQuasar @Frosten


    Did you try this?


    @hoppel118 Try and update only the actual plug-in.


    It should select the correct docker package automatically.


    This hint solved the error for me.


    Greetings Hoppel

    ----------------------------------------------------------------------------------
    openmediavault 6 | proxmox kernel | zfs | docker | kvm
    supermicro x11ssh-ctf | xeon E3-1240L-v5 | 64gb ecc | 8x10tb wd red | digital devices max s8
    ---------------------------------------------------------------------------------------------------------------------------------------

  • Ok, great!


    This hint from @nicjo814 is round about 10 to 15 posts before your post.


    Greetings Hoppel

    ----------------------------------------------------------------------------------
    openmediavault 6 | proxmox kernel | zfs | docker | kvm
    supermicro x11ssh-ctf | xeon E3-1240L-v5 | 64gb ecc | 8x10tb wd red | digital devices max s8
    ---------------------------------------------------------------------------------------------------------------------------------------

  • Observation:


    In docker settings I tried setting the root dir for docker to a shared folder located within a mergerFS array.
    This creates issues creating overlay2 mountpoint.


    As soon as I circumvent the union/mergerfs pool and point directly at one of my disks, or leave it to "none" everything works as expected.
    Reason I'm moving the root is because I run OMV from a usbkey (with folder2RAM)


    Error:


    Code
    Failed to execute command 'export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin; export LANG=C; docker run -d --restart=unless-stopped -v /etc/localtime:/etc/localtime:ro --net=host -e PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" -e HOME="/root" -e LANGUAGE="en_US.UTF-8" -e LANG="en_US.UTF-8" -e TERM="xterm" -e PGID="100" -e PUID="1001" -v "/srv/b4e5810f-00ae-4677-beff-3e79aedfafd8/dockers":"/config":rw --name="docker-unifi" "sjumbiot78/docker-unifi:latest" 2>&1' with exit code '125': docker: Error response from daemon: error creating overlay mount to /var/lib/docker/openmediavault/overlay2/7087a821738cb4a0f3cab02ede2fdf801885f9d85bdecc5bf98db8a317fef6e5-init/merged: invalid argument. See 'docker run --help'.




    Detailed view:

    Code
    Error #0:
    exception 'OMV\ExecException' with message 'Failed to execute command 'export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin; export LANG=C; docker run -d --restart=unless-stopped -v /etc/localtime:/etc/localtime:ro --net=host -e PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" -e HOME="/root" -e LANGUAGE="en_US.UTF-8" -e LANG="en_US.UTF-8" -e TERM="xterm" -e PGID="100" -e PUID="1001" -v "/srv/b4e5810f-00ae-4677-beff-3e79aedfafd8/dockers":"/config":rw --name="docker-unifi" "sjumbiot78/docker-unifi:latest" 2>&1' with exit code '125': docker: Error response from daemon: error creating overlay mount to /var/lib/docker/openmediavault/overlay2/7087a821738cb4a0f3cab02ede2fdf801885f9d85bdecc5bf98db8a317fef6e5-init/merged: invalid argument.
    See 'docker run --help'.' in /usr/share/php/openmediavault/system/process.inc:175
    Stack trace:
    #0 /usr/share/openmediavault/engined/rpc/docker.inc(587): OMV\System\Process->execute()
    #1 [internal function]: OMVRpcServiceDocker->runContainer(Array, Array)
    #2 /usr/share/php/openmediavault/rpc/serviceabstract.inc(124): call_user_func_array(Array, Array)
    #3 /usr/share/php/openmediavault/rpc/rpc.inc(86): OMV\Rpc\ServiceAbstract->callMethod('runContainer', Array, Array)
    #4 /usr/sbin/omv-engined(536): OMV\Rpc\Rpc::call('Docker', 'runContainer', Array, Array, 1)
    #5 {main}
    • Offizieller Beitrag

    I need people to test some of the plugin under the hood changes.


    1) No more tcp api query. Now dockerd listens on unix domain only. So no tcp port field
    2) no more src and dst folder and copy option.
    3) the selection of the shared folder passes directly the -g option to the daemon. No more mount bind. This should not create any more problems with zfs storage driver.


    The show run command button is kinda of working in another testing branch. But I need someone good at js that can beautify this

  • So, I know this is simple but i can't find my rutorrent config file so I can change the port. Everytime I attempt to change it via the WebGui it resets itself back to 51500. I tried to open it but i'm afraid that my ISP is blocking it.

  • Hello everyone



    Unfortunately, I have a problem with Docker.
    I followed the following tutorial:
    https://www.jeedom.com/forum/viewtopic.php?t=18931


    When I install the docker plugin, it seems to work. However when I want to activate it I have an error message.

    So I can not run a program like Jeedom or zoneminder.



    Could you give me a hand?


    Thank you in advance.


    Michael

Jetzt mitmachen!

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