Home > OS >  Docker commit not saving changes (anapsix/webdis)
Docker commit not saving changes (anapsix/webdis)

Time:01-28

I started a docker images anapsix/webdis:

sudo docker run -d -p 7379:7379 -e LOCAL_REDIS=true anapsix/webdis

and changed the etc/webdis.json to allow websockets and committed it with

sudo docker commit <container-id>

however, when I used the new image to start a container, it does not keep the changes. Is there something I'm doing wrong?

Thanks!

CodePudding user response:

In this case your problem is that the anapsix/webdis image has an entrypoint script (/entrypoint.sh) that generates /etc/webdis.json when the container starts.

Looking at the script, you can set the value of websockets by setting the WEBSOCKETS variable when you start the container:

docker run -d -p 7379:7379 \
  -e LOCAL_REDIS=true \
  -e WEBSOCKETS=true \
  anapsix/webdis

When we run it like this, the generated /etc/webdis.json looks like:

{
  "redis_host": "127.0.0.1",

  "redis_port": 6379,
  "redis_auth": null,

  "http_host": "0.0.0.0",
  "http_port": 7379,

  "threads": 5,
  "pool_size": 10,

  "daemonize": false,
  "websockets": true,

  "database": 0,

  "acl": [
    {
      "disabled": ["DEBUG", "FLUSHDB", "FLUSHALL"]
    },

    {
      "http_basic_auth": "user:password",
      "enabled":  ["DEBUG"]
    }
  ],

  "verbosity": 8,
  "logfile": "/dev/stdout"
}

More broadly, using docker commit is almost always the wrong thing to do; you should generate custom images using a Dockerfile (this gives you a much more manageable, reproducible process for creating container images).

  • Related