You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
> **WARNING**: This method is not meant for the production use and is meant only as a POC to test docker images as a part of existing pipeline. Right now it was tested with outdated alma8-flp-node image running readout
4
+
5
+
## How to
6
+
7
+
As a first step we need to be sure that required host computer has installed `docker`. At the time of writing this document `docker` needs to be installed manually.
8
+
9
+
In order to run task inside a docker image on the executor we can simply wrap the binary call into the docker image inside the [ControlWorkflow](https://github.com/AliceO2Group/ControlWorkflows) repository. For example in order to run readout we can modify `_plain_command` part of [`readout.yaml`](https://github.com/AliceO2Group/ControlWorkflows/blob/master/tasks/readout.yaml) by adding `docker run image command`. Obviously we need to have docker image that contains required binary with proper settings (creating one is outside of this document). A bit tricky part is that we need to manually (for now) specify all ENV variables with `-e` option in `docker run` call. Moreover we might need to add `--network=host` and `--ipc=host` to the call itself. Michal Tichak was able to run readout inside the alma8-flp-node as a part of workflow using following:
In order to figure out all of the ENV variables required one can take a look into the ECS gui environment details page and find task in question where all of the env variables are defined while running the binary outside of docker.
16
+
17
+
## Tips and tricks
18
+
19
+
Production systems run RHEL which doesn't install native `docker` by running `dnf install docker` but they are emulating the functionality by using `podman` which might behave different.
20
+
21
+
In order to debug whether ECS is even starting the container we can use
22
+
23
+
```
24
+
docker ps -a
25
+
```
26
+
27
+
This will show all of the containers which were run/are runinng on the system under current user. However there is a catch: ECS is using user `flp` so in order to figure out which container was running under this user, we need to switch the user by
28
+
29
+
```
30
+
su - flp
31
+
```
32
+
33
+
You can show logs directly from docker itself by using:
0 commit comments