Compare commits
7 Commits
3b81501f01
...
master
Author | SHA1 | Date | |
---|---|---|---|
8ed1e1b2c2 | |||
971bab4c2f | |||
db7dd90c84 | |||
d0e251de94 | |||
4d94c725a2 | |||
c26be90554 | |||
a4a332f91e |
13
Dockerfile
13
Dockerfile
@@ -5,22 +5,25 @@ LABEL org.opencontainers.image.authors="bluefox@privacynerd.de"
|
||||
|
||||
WORKDIR /cmatrix
|
||||
|
||||
RUN apk update && \
|
||||
apk add git autoconf automake alpine-sdk ncurses-dev ncurses-static && \
|
||||
RUN apk update --no-cache && \
|
||||
apk add --no-cache git autoconf automake alpine-sdk ncurses-dev ncurses-static && \
|
||||
git clone https://git.privacynerd.de/Mirrors/cmatrix.git . && \
|
||||
autoreconf -i && \
|
||||
mkdir -p /usr/lib/kbd/consolefonts /usr/share/consolefonts && \
|
||||
./configure LDFLAGS="-static" && \
|
||||
make
|
||||
|
||||
CMD ["./cmatrix"]
|
||||
|
||||
|
||||
# final cmatrix Container Image
|
||||
FROM alpine
|
||||
|
||||
LABEL org.opencontainers.image.authors="bluefox@privacynerd.de"
|
||||
|
||||
RUN apk update --no-cache && \
|
||||
apk add --no-cache ncurses-terminfo-base && \
|
||||
adduser -g "cmatrix" -s /usr/sbin/nologin -D -H cmatrix
|
||||
COPY --from=cmatrixbuildimage /cmatrix/cmatrix /cmatrix
|
||||
|
||||
CMD [".cmatrix"]
|
||||
USER cmatrix
|
||||
ENTRYPOINT ["./cmatrix"]
|
||||
CMD ["-akb", "-u 3"]
|
||||
|
36
README.md
36
README.md
@@ -1,6 +1,6 @@
|
||||
# docker-cmatrix
|
||||
|
||||
A simple docker image I used to teach me the basics of docker images and how to build them.
|
||||
A simple alpine-based docker image I used to teach me the basics of docker images and how to build them.
|
||||
|
||||
|
||||
## Build the container
|
||||
@@ -10,3 +10,37 @@ To build the container to an image called "cmatrix-demo", run
|
||||
```sh
|
||||
docker build -t cmatrix-demo .
|
||||
```
|
||||
|
||||
## Multi-platform builds
|
||||
|
||||
To do a build for multiple architectures, run:
|
||||
|
||||
```sh
|
||||
sudo docker buildx create --name buildx-multi-arch
|
||||
sudo docker buildx use buildx-multi-arch
|
||||
```
|
||||
|
||||
Then, to build it (e.g. for amd64 and arm64/v8):
|
||||
|
||||
```sh
|
||||
sudo docker buildx build --no-cache --platform linux/amd64,linux/arm64/v8 -t cmatrix-demo .
|
||||
```
|
||||
|
||||
**Please note that this will not load the images into the local image store (because it's obviously hard to run images built for the wrong architecture)! For uploading this to a container registry, see below.**
|
||||
|
||||
|
||||
## Pushing the container to a registry
|
||||
|
||||
As you've got everything working, maybe it's time to share the work! This can be done by uploading the built image to a docker container registry, e.g. [Docker Hub](https://hub.docker.com/).
|
||||
|
||||
First, sign into your Docker Hub account with your local docker installation (to create an account head to [https://app.docker.com/signup](https://app.docker.com/signup) in your favourite browser). The procedure is self-explaining:
|
||||
|
||||
```sh
|
||||
docker login
|
||||
```
|
||||
|
||||
To build and push the image directly to Docker Hub, use the following command (differs from the one above only in the --push option):
|
||||
|
||||
```sh
|
||||
sudo docker buildx build --no-cache --platform linux/amd64,linux/arm64/v8 -t <USER>/cmatrix-demo . --push
|
||||
```
|
||||
|
Reference in New Issue
Block a user