Skip to content

uses exec to start serving from entrypoint#42

Open
mhrivnak wants to merge 1 commit intooxtyped:mainfrom
mhrivnak:entrypoint-exec
Open

uses exec to start serving from entrypoint#42
mhrivnak wants to merge 1 commit intooxtyped:mainfrom
mhrivnak:entrypoint-exec

Conversation

@mhrivnak
Copy link
Copy Markdown

Previously, the entrypoint script left a shell process running forever, consuming some modest resources. This change uses exec to ensure that the gpodder2go process replaces the shell process, which is a best practice for containerization.

You can see a sh process running alongside gpodder2go:

[mhrivnak@roadie ]$ podman ps
CONTAINER ID  IMAGE                            COMMAND     CREATED         STATUS         PORTS       NAMES
9ca019f13341  ghcr.io/oxtyped/gpodder2go:main              18 seconds ago  Up 18 seconds  3005/tcp    gpodder2go
[mhrivnak@roadie ]$ podman exec -it gpodder2go ps -Af
PID   USER     TIME  COMMAND
    1 root      0:00 {entrypoint.sh} /bin/sh /entrypoint.sh
   13 root      0:00 /gpodder2go serve --addr 0.0.0.0:3005
   19 root      0:00 ps -Af

after this change, the shell process is gone:

[mhrivnak@roadie ]$ podman ps
CONTAINER ID  IMAGE                  COMMAND     CREATED         STATUS         PORTS       NAMES
1c33ba12b5a5  localhost/gp2g:latest              10 seconds ago  Up 11 seconds  3005/tcp    gpodder2go
[mhrivnak@roadie gpodder2go-container]$ podman exec -it gpodder2go ps -Af
PID   USER     TIME  COMMAND
    1 root      0:00 /gpodder2go serve --addr 0.0.0.0:3005
   18 root      0:00 ps -Af

Previously, the entrypoint script left a shell process running forever,
consuming some modest resources. This change uses `exec` to ensure that
the gpodder2go process replaces the shell process, which is a best
practice for containerization.

You can see a `sh` process running alongside `gpodder2go`:

```
[mhrivnak@roadie ]$ podman ps
CONTAINER ID  IMAGE                            COMMAND     CREATED         STATUS         PORTS       NAMES
9ca019f13341  ghcr.io/oxtyped/gpodder2go:main              18 seconds ago  Up 18 seconds  3005/tcp    gpodder2go
[mhrivnak@roadie ]$ podman exec -it gpodder2go ps -Af
PID   USER     TIME  COMMAND
    1 root      0:00 {entrypoint.sh} /bin/sh /entrypoint.sh
   13 root      0:00 /gpodder2go serve --addr 0.0.0.0:3005
   19 root      0:00 ps -Af
```

after this change, the shell process is gone:

```
[mhrivnak@roadie ]$ podman ps
CONTAINER ID  IMAGE                  COMMAND     CREATED         STATUS         PORTS       NAMES
1c33ba12b5a5  localhost/gp2g:latest              10 seconds ago  Up 11 seconds  3005/tcp    gpodder2go
[mhrivnak@roadie gpodder2go-container]$ podman exec -it gpodder2go ps -Af
PID   USER     TIME  COMMAND
    1 root      0:00 /gpodder2go serve --addr 0.0.0.0:3005
   18 root      0:00 ps -Af
   ```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant