Skip to content

Commit 13186c8

Browse files
Fedrclaude
andauthored
Document that the docker images are intended for CI/CD only (#6362)
Replace the generic docker cheat sheet (referencing the long-gone fedora39Dockerfile) with a note that the images only serve the GitHub Actions workflows, and describe the thirdparty symlinks required if one nevertheless builds MeshLib from source in a container. Fixes #3043 Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
1 parent 623087e commit 13186c8

1 file changed

Lines changed: 9 additions & 28 deletions

File tree

docker/readme.md

Lines changed: 9 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,15 @@
1-
### Some useful commands
1+
### MeshLib docker images
22

3-
Build image with
4-
```
5-
$ docker build -f ./docker/fedora39Dockerfile -t meshlib/fedora39-build-server .
6-
$ docker build -f ./docker/ubuntu22Dockerfile -t meshlib/ubuntu22-build-server .
7-
```
3+
The Dockerfiles in this directory (and the corresponding `meshlib/meshlib-*` images on [Docker Hub](https://hub.docker.com/u/meshlib)) are designed for MeshLib CI/CD only: they provide the build environments for the GitHub Actions workflows and are not intended for local development.
84

9-
Run a temporary container:
10-
```
11-
$ docker run --rm -it meshlib/fedora39-build-server bash
12-
```
13-
Run a container in background:
14-
```
15-
$ docker run -d --name angry_fedora meshlib/fedora39-build-server tail -f /dev/null
16-
```
17-
[Start an existing container](https://docs.docker.com/engine/reference/commandline/container_start/) and "Attach STDOUT/STDERR and forward signals" (-a), "Attach container's STDIN" (-i):
18-
```
19-
$ docker container start -ai angry_fedora
5+
In particular, the images contain prebuilt thirdparty libraries in `/usr/local/lib/` (`meshlib-thirdparty-lib/` in the Linux images; `emscripten/`, `emscripten-single/` and `emscripten-wasm64/` in the emscripten ones) — outside the source tree, where the build does not find them by itself. If you still want to build MeshLib from source in a container, first link them into the repository root, as the CI workflows do:
206
```
21-
Attach to a running (!) container as root:
7+
$ ln -s /usr/local/lib/meshlib-thirdparty-lib/lib ./lib
8+
$ ln -s /usr/local/lib/meshlib-thirdparty-lib/include ./include
9+
$ ln -s /usr/local/lib/meshlib-thirdparty-lib/share ./share
2210
```
23-
$ docker exec -u 0 -it angry_fedora bash
24-
```
25-
Show all containers:
26-
```
27-
$ docker ps -a
28-
```
29-
Delete all containers:
11+
12+
Build an image locally:
3013
```
31-
$ docker rm -f $(docker ps -a -q)
14+
$ docker build -f ./docker/ubuntu24Dockerfile -t meshlib/meshlib-ubuntu24 .
3215
```
33-
34-

0 commit comments

Comments
 (0)