Running Plone Docker image on Windows

For my wordpress docker images I map the themes and plugins folders (which I find better).
In the docker.compose.yml I specify and map folders with

volumes:

But I could not find any docs saying similar 'things' are possible with Plone

I have only started using this so maybe it’s mentioned in the repo docs or in https://docs.plone.org/manage/docker/docs/index.html (the Docker image is covered)

A quick -- not complete or detailed -- recipe would be to start docker with:

docker run -v "$(pwd)/data":/data -p 8080:8080 plone

Important points here:

  • This starts a Plone instance and export the container port 8080 to the host (http://localhost:8080)
  • You need to create the local ./data folder before -- add filestorage, blobstorage and logs subfolders
  • Move your Data.fs* and blobstorage inside ./data
1 Like

Thanks.
That worked

PS: I never got the mapping in docker-compose to work ( https://docs.plone.org/manage/docker/docs/data/index.html )

1 Like

I have one working example:

version: '3'
services:
  haproxy:
    image: eeacms/haproxy
    ports:
    - 8080:5000
    - 1936:1936
    depends_on:
    - plone
    environment:
      STATS_AUTH: "admin:not_really"
      BACKENDS: "plone"
      BACKENDS_PORT: "8080"
      DNS_ENABLED: "True"
      HTTPCHK: "GET /"
  plone:
    image: plone
    ports:
      - "8090:8080"
    depends_on:
    - zeo
    environment:
    - ZEO_ADDRESS=zeo:8080

  zeo:
    image: plone
    command: zeo
    volumes:
    - ./data:/data

Look I do not have the named volumes at the end of the file.

Do you mean that you do not specify volumes 'as a separate entry' ?

I tried this on OS X (no windows at work) and that did not work (it starts and runs, but the folder is not where Data.fs is present)

Double check if you do not have containers already created with those names. I remember getting a message of "reusing existing volume".

Maybe you should make a PR for the docs @ericof ?

This is high on my todo list :sweat_smile:

What folders are 'those folders'?

PS: I got it working with @ericof 's suggestion by adding the data folder (with filestorage and blobstorage)

Please @Kim, what does "PR" mean?
Some subtleties of English abbreviations elude me
In any case, thank you to all the participants of this thread on Docker and plone on Windows.

Please @Ericof, if we only use Standalone, can we cut your functional example from the part concerning Zeo without damage?
In addition, can it be used as well under Windows 10 as well as Windows server 2016 for example?
Thanks in advance.

1 Like

@Adomy PR is short for pull request.

When you want to add some changes to an existing repository, you usually create a branch and when it is ready to be merged, you create a pull request. Both branches are then compared and somebody has to review your pr and accept or decline it.

pull request is used for repositories on GitHub - afaik on GitLab or BitBucket this is called differently, but it all means the same.

Please @Kim, what does "PR" mean?

Sorry, that’s short for ‘pull request’. It’s not so much English as it is GitHub / git speak :slight_smile:

You could use something like the following

version: '3'
services:
  plone:
    image: plone
    ports:
      - "8080:8080"
    volumes:
    - ./data:/data

But, of course scalability would be a problem :slight_smile:

Okay, I’m enriching my GitHub vocabulary then :-)!

@Ericof, can you enlighten me a little on this cryptic phrase:
"But, of course scalability would be a problem" :-)?

A standalone instance is not going to be able to handle as many simultaneous requests as well as a ZEO multi-client setup. That’s covered in https://docs.plone.org/manage/deploying/stack.html#load-balancing

Thank you for this important reminder.
Nevertheless for a small site welcoming few simultaneous visitors, can we manage the situation with standalone?

Nevertheless for a small site welcoming few simultaneous visitors, can we manage the situation with standalone?

Probably. I would monitor performance, but yeah, especially if you have put some caching in front of Plone.

Plone Foundation Code of Conduct