w3c / automotive-viss2

MIT License
9 stars 15 forks source link

Dockerfile needs overhaul #59

Closed petervolvowinz closed 1 year ago

petervolvowinz commented 1 year ago

So, with the move from multiprocess to multithread we should and need to update the Dockerfile accordingly. My suggestion is that we run the AGTserver in its own Docker, since it is likely that the AGTs will run on a separate unit. Also, I propose to put the Feeder in a Docker image of its own ( debatable but I don't care).

petervolvowinz commented 1 year ago

I will work out of the rl-integration branch.

petervolvowinz commented 1 year ago

Currently trying to get redis and the feeder to communicate over a unix socket db. The idea is to create/mount a volume separate from the feeder and the redis state storage server. However, I don't get permission to bind to the unix socket. See , docker-compose-bb.yml.

The file redis.conf points to /var/tmp/vissv2/redisDb.sock . So , trying to create a volume using Busybox image with that exakt path. ...However, still gets permission denied.

petervolvowinz commented 1 year ago

Managed to solve the socket permission problem. Look in docker-compose-bb.yml. It seems that you need a clean directory which in my case I used: /var/docker/ in the busybox. This was then also reflected in the redis.conf file(which is a bit sad since we are not able to reuse the dirs already provided there). However, redis is no listening on a unix socket mounted in a different container based on the busybox image.

UlfBj commented 1 year ago

@petervolvowinz , I hope you will push an overhaul according to your comments. The Docker files, and related README have been moved to a separate docker directory in PR#66.

petervolvowinz commented 1 year ago

Well, the feeder cannot run by its own. It needs to be in the same docker compose since we are using unix sockets.

petervolvowinz commented 1 year ago

I have a working version of docker compose without the AGT server. Will try to push this master. The Dockerfile and docker compose should reside in the project root. There is no multiprocess support , since there are no sources that support this on master anymore. For this we should refer to the multi-process branch.

UlfBj commented 1 year ago

Great! There is no need to support multi-process as I see it. That branch is not kept up to date with what goes in on the master branch.

petervolvowinz commented 1 year ago

this is done.