Docker GUI plugin now stable

    • OMV 2.x
    • Hello!

      I can't install the Docker plugin, using Docker CE repo. I made a fresh install a few months ago to update to 3.0. Haven't had any problems with other plugins, but when it works for others it must mean there is some problem with my install.

      When installing I get this error:

      Source Code

      1. Reading package lists...
      2. Building dependency tree...
      3. Reading state information...
      4. The following extra packages will be installed:
      5. docker-ce imagemagick-common libcurl3 libfftw3-double3 liblqr-1-0
      6. libmagickcore-6.q16-2 libmagickwand-6.q16-2 php5-curl php5-imagick
      7. Suggested packages:
      8. libfftw3-bin libfftw3-dev libmagickcore-6.q16-2-extra
      9. Recommended packages:
      10. aufs-tools cgroupfs-mount cgroup-lite git xz-utils ghostscript gsfonts
      11. ttf-dejavu-core
      12. The following NEW packages will be installed:
      13. docker-ce imagemagick-common libcurl3 libfftw3-double3 liblqr-1-0
      14. libmagickcore-6.q16-2 libmagickwand-6.q16-2 openmediavault-docker-gui
      15. php5-curl php5-imagick
      16. 0 upgraded, 10 newly installed, 0 to remove and 0 not upgraded.
      17. Need to get 0 B/24.4 MB of archives.
      18. After this operation, 111 MB of additional disk space will be used.
      19. Selecting previously unselected package imagemagick-common.
      20. (Reading database ... (Reading database ... 5%(Reading database ... 10%(Reading database ... 15%(Reading database ... 20%(Reading database ... 25%(Reading database ... 30%(Reading database ... 35%(Reading database ... 40%(Reading database ... 45%(Reading database ... 50%(Reading database ... 55%(Reading database ... 60%(Reading database ... 65%(Reading database ... 70%(Reading database ... 75%(Reading database ... 80%(Reading database ... 85%(Reading database ... 90%(Reading database ... 95%(Reading database ... 100%(Reading database ... 66898 files and directories currently installed.)
      21. Preparing to unpack .../imagemagick-common_8%3a6.8.9.9-5+deb8u10_all.deb ...
      22. Unpacking imagemagick-common (8:6.8.9.9-5+deb8u10) ...
      23. Selecting previously unselected package libcurl3:amd64.
      24. Preparing to unpack .../libcurl3_7.38.0-4+deb8u6_amd64.deb ...
      25. Unpacking libcurl3:amd64 (7.38.0-4+deb8u6) ...
      26. Selecting previously unselected package libfftw3-double3:amd64.
      27. Preparing to unpack .../libfftw3-double3_3.3.4-2_amd64.deb ...
      28. Unpacking libfftw3-double3:amd64 (3.3.4-2) ...
      29. Selecting previously unselected package liblqr-1-0:amd64.
      30. Preparing to unpack .../liblqr-1-0_0.4.2-2_amd64.deb ...
      31. Unpacking liblqr-1-0:amd64 (0.4.2-2) ...
      32. Selecting previously unselected package libmagickcore-6.q16-2:amd64.
      33. Preparing to unpack .../libmagickcore-6.q16-2_8%3a6.8.9.9-5+deb8u10_amd64.deb ...
      34. Unpacking libmagickcore-6.q16-2:amd64 (8:6.8.9.9-5+deb8u10) ...
      35. Selecting previously unselected package libmagickwand-6.q16-2:amd64.
      36. Preparing to unpack .../libmagickwand-6.q16-2_8%3a6.8.9.9-5+deb8u10_amd64.deb ...
      37. Unpacking libmagickwand-6.q16-2:amd64 (8:6.8.9.9-5+deb8u10) ...
      38. Selecting previously unselected package docker-ce.
      39. Preparing to unpack .../docker-ce_17.09.0~ce-0~debian_amd64.deb ...
      40. Unpacking docker-ce (17.09.0~ce-0~debian) ...
      41. Selecting previously unselected package php5-curl.
      42. Preparing to unpack .../php5-curl_5.6.30+dfsg-0+deb8u1_amd64.deb ...
      43. Unpacking php5-curl (5.6.30+dfsg-0+deb8u1) ...
      44. Selecting previously unselected package php5-imagick.
      45. Preparing to unpack .../php5-imagick_3.2.0~rc1-1_amd64.deb ...
      46. Unpacking php5-imagick (3.2.0~rc1-1) ...
      47. Selecting previously unselected package openmediavault-docker-gui.
      48. Preparing to unpack .../openmediavault-docker-gui_3.1.10_amd64.deb ...
      49. Unpacking openmediavault-docker-gui (3.1.10) ...
      50. Processing triggers for systemd (215-17+deb8u7) ...
      51. Processing triggers for man-db (2.7.0.2-5) ...
      52. Processing triggers for php5-fpm (5.6.30+dfsg-0+deb8u1) ...
      53. Processing triggers for openmediavault (3.0.88) ...
      54. Restarting engine daemon ...
      55. Setting up imagemagick-common (8:6.8.9.9-5+deb8u10) ...
      56. Setting up libcurl3:amd64 (7.38.0-4+deb8u6) ...
      57. Setting up libfftw3-double3:amd64 (3.3.4-2) ...
      58. Setting up liblqr-1-0:amd64 (0.4.2-2) ...
      59. Setting up libmagickcore-6.q16-2:amd64 (8:6.8.9.9-5+deb8u10) ...
      60. Setting up libmagickwand-6.q16-2:amd64 (8:6.8.9.9-5+deb8u10) ...
      61. Setting up docker-ce (17.09.0~ce-0~debian) ...
      62. Job for docker.service failed. See 'systemctl status docker.service' and 'journalctl -xn' for details.
      63. invoke-rc.d: initscript docker, action "start" failed.
      64. dpkg: error processing package docker-ce (--configure):
      65. subprocess installed post-installation script returned error exit status 1
      66. Setting up php5-curl (5.6.30+dfsg-0+deb8u1) ...
      67. Creating config file /etc/php5/mods-available/curl.ini with new version
      68. php5_invoke: Enable module curl for cgi SAPI
      69. php5_invoke: Enable module curl for fpm SAPI
      70. php5_invoke: Enable module curl for cli SAPI
      71. Setting up php5-imagick (3.2.0~rc1-1) ...
      72. php5_invoke: Enable module imagick for cgi SAPI
      73. php5_invoke: Enable module imagick for fpm SAPI
      74. php5_invoke: Enable module imagick for cli SAPI
      75. dpkg: dependency problems prevent configuration of openmediavault-docker-gui:
      76. openmediavault-docker-gui depends on docker-ce; however:
      77. Package docker-ce is not configured yet.
      78. dpkg: error processing package openmediavault-docker-gui (--configure):
      79. dependency problems - leaving unconfigured
      80. Processing triggers for libc-bin (2.19-18+deb8u10) ...
      81. Processing triggers for systemd (215-17+deb8u7) ...
      82. Processing triggers for php5-fpm (5.6.30+dfsg-0+deb8u1) ...
      83. Errors were encountered while processing:
      84. docker-ce
      85. openmediavault-docker-gui
      86. >>> *************** Error ***************
      87. <<< *************************************
      88. >>> *************** Error ***************
      89. <<< *************************************
      90. >>> *************** Error ***************
      91. <<< *************************************
      92. >>> *************** Error ***************
      Display All


      When I reload the page I get this error:

      Source Code

      1. Failed to execute XPath query '/config/services/docker'.
      2. Error #0:
      3. exception 'OMV\Config\DatabaseException' with message 'Failed to execute XPath query '/config/services/docker'.' in /usr/share/php/openmediavault/config/database.inc:78
      4. Stack trace:
      5. #0 /usr/share/openmediavault/engined/module/docker.inc(45): OMV\Config\Database->get('conf.service.do...')
      6. #1 /usr/share/openmediavault/engined/rpc/services.inc(56): OMVModuleDocker->getStatus()
      7. #2 [internal function]: OMVRpcServiceServices->getStatus(Array, Array)
      8. #3 /usr/share/php/openmediavault/rpc/serviceabstract.inc(124): call_user_func_array(Array, Array)
      9. #4 /usr/share/php/openmediavault/rpc/rpc.inc(86): OMV\Rpc\ServiceAbstract->callMethod('getStatus', Array, Array)
      10. #5 /usr/sbin/omv-engined(536): OMV\Rpc\Rpc::call('Services', 'getStatus', Array, Array, 1)
      11. #6 {main}
      Display All
    • nicjo814 wrote:

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

      It should select the correct docker package automatically.

      Hello @nicjo814,

      thanks for this hint. This solved my issue and the ugrade progress worked as expected. At the moment everthing looks fine!

      Greetings Hoppel
      ---------------------------------------------------------------------------------------------------------------
      frontend software - android tv | libreelec | win10 | kodi krypton
      frontend hardware - nvidia shield tv | odroid c2 | yamaha rx-a1020 | quadral chromium style 5.1 | samsung le40-a789r2 | harmony smart control
      -------------------------------------------
      backend software - debian | kernel 4.4 lts | proxmox | openmediavault | zfs raid-z2 | docker | emby | vdr | vnsi | fhem
      backend hardware - supermicro x11ssh-ctf | xeon E3-1240L-v5 | 64gb ecc | 8x4tb wd red | digital devices max s8
      ---------------------------------------------------------------------------------------------------------------------------------------
    • New

      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!
    • New

      @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.
      chat support at #openmediavault@freenode IRC | Spanish & English | GMT+10
      telegram.me/openmediavault broadcast channel
      openmediavault discord server
    • New

      subzero79 wrote:

      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 :)

      subzero79 wrote:

      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...

      subzero79 wrote:

      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?

      subzero79 wrote:

      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.

      subzero79 wrote:

      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!
    • New

      My concern is the apiport has a db configuration entry. So there would be differences if install is upgrade or new install.
      Also how to handle existing mount binds again in an upgrade.
      Omv now provides helpers scripts for upgrade different versions but I haven’t use them really. So I am kind of lost there.
      chat support at #openmediavault@freenode IRC | Spanish & English | GMT+10
      telegram.me/openmediavault broadcast channel
      openmediavault discord server