forked from containers/podman
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request containers#19730 from edsantiago/you_say_hello_and…
…_i_say_goodbye Revert "Remove `hello` multi-arch image build"
- Loading branch information
Showing
4 changed files
with
116 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
FROM docker.io/alpine as builder | ||
RUN apk add gcc libc-dev | ||
ADD podman_hello_world.c . | ||
RUN gcc -O2 -static -o podman_hello_world podman_hello_world.c | ||
|
||
FROM scratch | ||
LABEL maintainer="Podman Maintainers" | ||
LABEL artist="Máirín Ní Ḋuḃṫaiġ, Twitter:@mairin" | ||
USER 1000 | ||
COPY --from=builder podman_hello_world /usr/local/bin/podman_hello_world | ||
CMD ["/usr/local/bin/podman_hello_world"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,77 @@ | ||
 | ||
|
||
# Podman Hello World image | ||
|
||
## Overview | ||
|
||
This directory contains the Containerfile and bash script necessary to create the | ||
"hello" podman image housed on quay.io under the Podman account in a public | ||
repository. The image is public and can be pulled without credentials. | ||
|
||
Using this image is helpful to: | ||
|
||
* Prove that basic Podman operations are working on the host. | ||
* Shows that the image was pulled from the quay.io container registry. | ||
* Container creation was successfully accomplished. (`podman ps -a`) | ||
* The created container was able to stream output to your terminal. | ||
|
||
## Directory Contents | ||
|
||
The contents of this directory contain: | ||
* ./Containerfile | ||
* ./podman_hello_world.c | ||
|
||
## Sample Usage | ||
|
||
To simply run the image: | ||
|
||
``` | ||
podman run quay.io/podman/hello | ||
!... Hello Podman World ...! | ||
.--"--. | ||
/ - - \ | ||
/ (O) (O) \ | ||
~~~| -=(,Y,)=- | | ||
.---. /` \ |~~ | ||
~/ o o \~~~~.----. ~~ | ||
| =(X)= |~ / (O (O) \ | ||
~~~~~~~ ~| =(Y_)=- | | ||
~~~~ ~~~| U |~~ | ||
Project: https://github.com/containers/podman | ||
Website: https://podman.io | ||
Documents: https://docs.podman.io | ||
Twitter: @Podman_io | ||
``` | ||
To build the image yourself, copy the files from this directory into | ||
a local directory and issue these commands: | ||
|
||
``` | ||
podman build -t myhello . | ||
podman run myhello | ||
``` | ||
|
||
## Potential Issues: | ||
|
||
The image runs as a rootless user with the UID set to `1000`. | ||
If the /etc/subuid and /etch/subgid values are not set appropriately to run as a | ||
rootless user on the host, an error like this might be raised: | ||
|
||
``` | ||
Copying blob acab339ca1e8 done | ||
ERRO[0002] Error while applying layer: ApplyLayer exit status 1 stdout: stderr: potentially insufficient UIDs or GIDs available in user namespace (requested 0:12 for /var/spool/mail): Check /etc/subuid and /etc/subgid: lchown /var/spool/mail: invalid argument | ||
Error: writing blob: adding layer with blob "sha256:ee0cde9de8a68f171a8c03b0e9954abf18576947e2f3187e84d8c31ccd8f6a09": ApplyLayer exit status 1 stdout: stderr: potentially insufficient UIDs or GIDs available in user namespace (requested 0:12 for /var/spool/mail): Check /etc/subuid and /etc/subgid: lchown /var/spool/mail: invalid argument | ||
``` | ||
|
||
Please refer to this [blog post](https://www.redhat.com/sysadmin/rootless-podman) for further configuration information. | ||
|
||
## THANKS! | ||
|
||
Many Thanks to @afbjorklund for a great discussion during the | ||
first revision of this container image that resulted in moving | ||
from using bash to using C, and the ensuing changes to the | ||
Containerfile. | ||
|
||
Also many thanks to @mairin for the awesome ASCII art! |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
//### | ||
// ASCII art by the incomparable Máirín Duffy, | ||
// [email protected], Twitter: @mairin | ||
// January 2022 | ||
//### | ||
|
||
#include <stdio.h> | ||
int main() { | ||
puts("\ | ||
!... Hello Podman World ...!\n\ | ||
\n\ | ||
.--\"--. \n\ | ||
/ - - \\ \n\ | ||
/ (O) (O) \\ \n\ | ||
~~~| -=(,Y,)=- | \n\ | ||
.---. /` \\ |~~ \n\ | ||
~/ o o \\~~~~.----. ~~ \n\ | ||
| =(X)= |~ / (O (O) \\ \n\ | ||
~~~~~~~ ~| =(Y_)=- | \n\ | ||
~~~~ ~~~| U |~~ \n\ | ||
\n\ | ||
Project: https://github.com/containers/podman\n\ | ||
Website: https://podman.io\n\ | ||
Documents: https://docs.podman.io\n\ | ||
Twitter: @Podman_io"); | ||
} |