Skip to content

Commit e3d7670

Browse files
author
Michal Tichák
committed
fixup! fixup! [docs] Added description how to run task inside a docker container
1 parent 3c66ca5 commit e3d7670

File tree

1 file changed

+13
-9
lines changed

1 file changed

+13
-9
lines changed

docs/running_docker.md

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
> ⚠️ **Warning**
44
> This method is **not intended for production use**.
5-
> It serves only as a **proof of concept (POC)** for testing Docker images as part of an existing pipeline.
5+
> It serves only as a **proof of concept** for testing Docker images as part of an existing pipeline.
66
>
77
> Currently, it has been tested with the `alma9-flp-node` image running the *readout* component.
88
@@ -12,15 +12,16 @@
1212

1313
### 1. Manual Setup
1414

15-
Before running tasks in Docker, ensure that the host machine has **Docker** installed.
15+
Before running tasks in Docker, ensure that the host machine has Docker installed.
1616
At the time of writing, Docker must be installed **manually**.
1717

1818
> ⚠️ **Security Note**
19-
> The `flp` user must be able to run `sudo` **without a password**, because Docker requires root privileges.
19+
> The `flp` user must be able to run `sudo` **without a password**, because Docker requires root privileges because of inter process communication requirements
2020
>
21-
> This setup is **not safe for production systems**.
21+
> This setup is **potentially unsafe** for production systems. There exists rootless mode in Podman (alias for Docker at RHEL) which might solve safety
22+
> issues. However, we were not able to make this work for more than one container because of ipc requirements.
2223
23-
Run the following commands as `root`:
24+
Run the following commands as `root` to add `flp` user to sudoers:
2425

2526
```bash
2627
usermod -aG wheel flp
@@ -33,15 +34,15 @@ echo '%wheel ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers.d/90-wheel-nopasswd
3334

3435
To run a task inside a Docker container on the executor, wrap the binary call in a `docker run` command within the [ControlWorkflows](https://github.com/AliceO2Group/ControlWorkflows) repository.
3536

36-
For example, to run **readout**, modify the `_plain_command` section of [`readout.yaml`](https://github.com/AliceO2Group/ControlWorkflows/blob/master/tasks/readout.yaml) by adding a Docker command.
37+
For example, to run readout, modify the `_plain_command` section of [`readout.yaml`](https://github.com/AliceO2Group/ControlWorkflows/blob/master/tasks/readout.yaml) by adding a Docker command.
3738

3839
> 🧩 **Note**
3940
> You must already have a Docker image that includes the required binary and configuration.
40-
> (Creating such an image is **outside the scope** of this document.)
41+
> (Creating such an image is outside the scope of this document.)
4142
4243
#### Example Command
4344

44-
When running *readout*, **Michal Tichak** successfully used the following command inside the `alma9-flp-node` image:
45+
When running readout, we successfully used the following command inside the `alma9-flp-node` image:
4546

4647
```bash
4748
sudo /usr/bin/docker run --name readout --replace \
@@ -53,6 +54,9 @@ sudo /usr/bin/docker run --name readout --replace \
5354
/opt/o2/bin/o2-readout-exe
5455
```
5556

57+
> 🧩 **Note**
58+
> We are not claiming that this is the most efficient way how to run this image, just that it works.
59+
5660
#### Environment Variables
5761

5862
To identify all required environment variables:
@@ -81,7 +85,7 @@ This ensures shared memory segments are created under the same user context.
8185

8286
## Tips and Tricks
8387

84-
* Production systems running **RHEL** do not install native Docker via:
88+
* Production systems running RHEL do not install native Docker via:
8589

8690
```bash
8791
dnf install docker

0 commit comments

Comments
 (0)