dokku / dokku-redis

a redis plugin for dokku
MIT License
253 stars 38 forks source link

Volume mounting error using --config-options #240

Open eual8 opened 6 months ago

eual8 commented 6 months ago

If you're using Dokku - especially for commercial purposes - consider donating to project development via OpenCollective or Patreon. Funds go to general development, support, and infrastructure costs.

If you'd like to sponsor specific functionality, see the project's Sponsoring document.

If you need support for a version of Dokku that is more than a year old, your issue may be closed without an answer. Please upgrade to a recent version before filing an issue.

Description of problem

It is not possible to mount an additional volume for using Hunspell dictionaries. Please tell me how to specify mounting data when creating a container.

How reproducible

Create a container specifying --config-options

Steps to Reproduce

  1. Run command with --config-options
    dokku elasticsearch:create new-name --config-options "--volume /srv/hunspell:/usr/share/elasticsearch/config/hunspell"

Actual Results

=====> Extracting config files
Successfully copied 43.5kB to /var/lib/dokku/services/elasticsearch/subtitles-finder/
=====> Set file permissions for config
=====> Set file permissions for data
       Waiting for container to be ready
Waiting for dokku-elasticsearch-subtitles-finder:9200  .nc: getaddrinfo: Try again
.nc: getaddrinfo: Try again
.nc: getaddrinfo: Try again
.nc: getaddrinfo: Try again
.nc: getaddrinfo: Try again
.nc: getaddrinfo: Try again
.nc: getaddrinfo: Try again
.nc: getaddrinfo: Try again
.nc: getaddrinfo: Try again
.nc: getaddrinfo: Try again
.nc: getaddrinfo: Try again
.nc: getaddrinfo: Try again
.  ERROR: unable to connect
=====> Start of subtitles-finder container output
       basename: unrecognized option '--volume'
       Try 'basename --help' for more information.
       /usr/local/bin/docker-entrypoint.sh: line 37: exec: --: invalid option
       exec: usage: exec [-cl] [-a name] [command [arguments ...]] [redirection ...]
       basename: unrecognized option '--volume'
       Try 'basename --help' for more information.
       /usr/local/bin/docker-entrypoint.sh: line 37: exec: --: invalid option
       exec: usage: exec [-cl] [-a name] [command [arguments ...]] [redirection ...]
       basename: unrecognized option '--volume'
       Try 'basename --help' for more information.

Expected Results

The container was successfully created and the volume was installed

Environment Information

-----> uname: Linux 72web 5.15.0-94-generic dokku/dokku-elasticsearch#104-Ubuntu SMP Tue Jan 9 15:25:40 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
-----> memory:
                      total        used        free      shared  buff/cache   available
       Mem:            3816        2130         806          95         879        1299
       Swap:              0           0           0
-----> docker version:
       Client: Docker Engine - Community
        Version:           25.0.2
        API version:       1.44
        Go version:        go1.21.6
        Git commit:        29cf629
        Built:             Thu Feb  1 00:22:57 2024
        OS/Arch:           linux/amd64
        Context:           default

       Server: Docker Engine - Community
        Engine:
         Version:          25.0.2
         API version:      1.44 (minimum version 1.24)
         Go version:       go1.21.6
         Git commit:       fce6e0c
         Built:            Thu Feb  1 00:22:57 2024
         OS/Arch:          linux/amd64
         Experimental:     false
        containerd:
         Version:          1.6.28
         GitCommit:        ae07eda36dd25f8a1b98dfbf587313b99c0190bb
        runc:
         Version:          1.1.12
         GitCommit:        v1.1.12-0-g51d5e94
        docker-init:
         Version:          0.19.0
         GitCommit:        de40ad0
-----> docker daemon info:
       Client: Docker Engine - Community
        Version:    25.0.2
        Context:    default
        Debug Mode: true
        Plugins:
         buildx: Docker Buildx (Docker Inc.)
           Version:  v0.12.1
           Path:     /usr/libexec/docker/cli-plugins/docker-buildx
         compose: Docker Compose (Docker Inc.)
           Version:  v2.24.5
           Path:     /usr/libexec/docker/cli-plugins/docker-compose

       Server:
        Containers: 7
         Running: 7
         Paused: 0
         Stopped: 0
        Images: 11
        Server Version: 25.0.2
        Storage Driver: overlay2
         Backing Filesystem: extfs
         Supports d_type: true
         Using metacopy: false
         Native Overlay Diff: true
         userxattr: false
        Logging Driver: json-file
        Cgroup Driver: systemd
        Cgroup Version: 2
        Plugins:
         Volume: local
         Network: bridge host ipvlan macvlan null overlay
         Log: awslogs fluentd gcplogs gelf journald json-file local splunk syslog
        Swarm: inactive
        Runtimes: io.containerd.runc.v2 runc
        Default Runtime: runc
        Init Binary: docker-init
        containerd version: ae07eda36dd25f8a1b98dfbf587313b99c0190bb
        runc version: v1.1.12-0-g51d5e94
        init version: de40ad0
        Security Options:
         apparmor
         seccomp
          Profile: builtin
         cgroupns
        Kernel Version: 5.15.0-94-generic
        Operating System: Ubuntu 22.04.3 LTS
        OSType: linux
        Architecture: x86_64
        CPUs: 2
        Total Memory: 3.727GiB
        Name: 72web
        ID: f680e744-b2b9-4052-8c6c-ae08f0381db5
        Docker Root Dir: /var/lib/docker
        Debug Mode: false
         File Descriptors: 68
         Goroutines: 87
         System Time: 2024-03-11T14:31:17.486894015Z
         EventsListeners: 1
        Experimental: false
        Insecure Registries:
         127.0.0.0/8
        Live Restore Enabled: false

-----> herokuish version:
       herokuish: v0.7.3
       buildpacks:
         heroku-buildpack-multi     v1.2.0
         heroku-buildpack-ruby      v265
         heroku-buildpack-nodejs    v235
         heroku-buildpack-clojure   v91
         heroku-buildpack-python    v242
         heroku-buildpack-java      v73
         heroku-buildpack-gradle    v39
         heroku-buildpack-scala     v96
         heroku-buildpack-play      v26
         heroku-buildpack-php       v244
         heroku-buildpack-go        v184
         heroku-buildpack-nginx     v25
         buildpack-null             v3
-----> dokku version: dokku version 0.33.3
-----> dokku-event-listener version: 0.15.0build+5268732
-----> dokku-update version: dokku-update 0.7.2
-----> docker-container-healthchecker version: 0.7.2
-----> docker-image-labeler version: 0.6.1build+c6e15a9
-----> git version: git version 2.34.1
-----> lambda-builder version:        0.5.0
-----> netrc version: 0.7.1build+677c033
 !     pack binary is not available
-----> plugn version: plugn: 0.13.0build+fd5297a
-----> sigil version: 0.10.1build+e443be0
-----> sshcommand version: sshcommand 0.17.1
-----> dokku plugins:
         00_dokku-standard    0.33.3 enabled    dokku core standard plugin
         20_events            0.33.3 enabled    dokku core events logging plugin
         app-json             0.33.3 enabled    dokku core app-json plugin
         apps                 0.33.3 enabled    dokku core apps plugin
         builder              0.33.3 enabled    dokku core builder plugin
         builder-dockerfile   0.33.3 enabled    dokku core builder-dockerfile plugin
         builder-herokuish    0.33.3 enabled    dokku core builder-herokuish plugin
         builder-lambda       0.33.3 enabled    dokku core builder-lambda plugin
         builder-nixpacks     0.33.3 enabled    dokku core builder-nixpacks plugin
         builder-null         0.33.3 enabled    dokku core builder-null plugin
         builder-pack         0.33.3 enabled    dokku core builder-pack plugin
         buildpacks           0.33.3 enabled    dokku core buildpacks plugin
         caddy-vhosts         0.33.3 enabled    dokku core caddy-vhosts plugin
         certs                0.33.3 enabled    dokku core certificate management plugin
         checks               0.33.3 enabled    dokku core checks plugin
         common               0.33.3 enabled    dokku core common plugin
         config               0.33.3 enabled    dokku core config plugin
         cron                 0.33.3 enabled    dokku core cron plugin
         docker-options       0.33.3 enabled    dokku core docker-options plugin
         domains              0.33.3 enabled    dokku core domains plugin
         elasticsearch        1.35.3 enabled    dokku elasticsearch service plugin
         enter                0.33.3 enabled    dokku core enter plugin
         git                  0.33.3 enabled    dokku core git plugin
         haproxy-vhosts       0.33.3 enabled    dokku core haproxy-vhosts plugin
         logs                 0.33.3 enabled    dokku core logs plugin
         mysql                1.38.1 enabled    dokku mysql service plugin
         network              0.33.3 enabled    dokku core network plugin
         nginx-vhosts         0.33.3 enabled    dokku core nginx-vhosts plugin
         openresty-vhosts     0.33.3 enabled    dokku core openresty-vhosts plugin
         plugin               0.33.3 enabled    dokku core plugin plugin
         ports                0.33.3 enabled    dokku core ports plugin
         proxy                0.33.3 enabled    dokku core proxy plugin
         ps                   0.33.3 enabled    dokku core ps plugin
         rabbitmq             1.36.8 enabled    dokku rabbitmq service plugin
         registry             0.33.3 enabled    dokku core registry plugin
         repo                 0.33.3 enabled    dokku core repo plugin
         resource             0.33.3 enabled    dokku core resource plugin
         run                  0.33.3 enabled    dokku core run plugin
         scheduler            0.33.3 enabled    dokku core scheduler plugin
         scheduler-docker-local 0.33.3 enabled    dokku core scheduler-docker-local plugin
         scheduler-k3s        0.33.3 enabled    dokku core scheduler-k3s plugin
         scheduler-null       0.33.3 enabled    dokku core scheduler-null plugin
         shell                0.33.3 enabled    dokku core shell plugin
         ssh-keys             0.33.3 enabled    dokku core ssh-keys plugin
         storage              0.33.3 enabled    dokku core storage plugin
         trace                0.33.3 enabled    dokku core trace plugin
         traefik-vhosts       0.33.3 enabled    dokku core traefik-vhosts plugin

dokku report APP_NAME output

This is required! Issues missing this information may be closed.

For problems affecting all applications, the report output for a broken application is useful for our debugging. In these cases, you may run dokku report without any arguments to display the top-level reporting information.

How (deb/make) and where (AWS, VirtualBox, physical, etc.) was Dokku installed?:

Additional information

josegonzalez commented 6 months ago

The config-options flag is used to specify a list of arguments to pass to the process running inside the docker container on start, not to the docker daemon.

There isn't currently a way to do what you're asking for, though there is a PR here that might eventually be merged and implement this.

Going to move this ticket to the redis plugin for tracking the feature across all services.