Skip to content
Snippets Groups Projects
Verified Commit cc8c4f02 authored by David Beniamine's avatar David Beniamine
Browse files

Initial commit

parents
Branches
No related tags found
No related merge requests found
Pipeline #498 passed
.*.sw?
build_image:
image: docker:git
services:
- docker:dind
script:
- docker build -t dbeniamine/docker-compose-viz-mermaid .
- docker login -u dbeniamine -p $DOCKER_HUB_TOKEN
- docker push dbeniamine/docker-compose-viz-mermaid
only:
- master
FROM gradle as builder
ARG release=nightly
WORKDIR /home/gradle/project
RUN wget -O src.tar.gz https://github.com/derlin/docker-compose-viz-mermaid/archive/refs/tags/${release}.tar.gz
RUN tar xfzv src.tar.gz
WORKDIR /home/gradle/project/docker-compose-viz-mermaid-nightly
RUN ./gradlew build
RUN mv build/libs/docker-compose-viz-mermaid-1.0.0-SNAPSHOT.jar /docker-compose-viz-mermaid.jar
FROM minlag/mermaid-cli
USER root
RUN apt-get update && apt-get -y install default-jre
COPY entrypoint.sh /opt
RUN chmod +x /opt/entrypoint.sh
COPY --from=builder /docker-compose-viz-mermaid.jar /opt/
VOLUME /data
WORKDIR /data
ENTRYPOINT ["/opt/entrypoint.sh"]
CMD ["-h"]
A docker image to visualize docker-compose configs with mermaid.
Base on [docker-compose-viz-mermaid](https://github.com/derlin/docker-compose-viz-mermaid) and [mermaid-cli](https://github.com/mermaid-js/mermaid-cli)
## Examples
```
docker run --rm -it -v $PWD:/data dbeniamine/docker-compose-viz-mermaid -M -otest.png -M -w1000
docker run --rm -it -v $PWD:/data dbeniamine/docker-compose-viz-mermaid -v -p -m
docker run --rm -it -v $PWD:/data dbeniamine/docker-compose-viz-mermaid -v -p -v -fMARKDOWN
```
## snippet
Add the following to your `.bashrc` suits, to your needs
```bash
dcviz() {
docker-compose config > $$.yml
docker run --rm -it -v $PWD:/data dbeniamine/docker-compose-viz-mermaid -v --ports -v $$.yml $@
rm $$.yml > /dev/null 2>&1
}
```
#!/bin/bash
usage() {
prefix="docker run --rm -it -v \$PWD:/data docker-compose-viz-mermaid"
echo "Usage $0 [options]"
echo -e "\t-h display this help and exit"
echo -e "\t-v '<options>' passes some options to docker-compose-viz-mermaid"
echo -e "\t-m pipes docker-compose-viz-mermaid outputs to mermaid"
echo -e "\t-M '<options>' passes some options to mermaid"
echo "Exemples"
echo -e "\t$prefix -M -otest.png -M -w1000"
echo -e "\t$prefix -v -p -m"
echo -e "\t$prefix -v -p -v -fMARKDOWN"
}
cmd="java -jar /opt/docker-compose-viz-mermaid.jar"
mmdc="/home/mermaidcli/node_modules/.bin/mmdc -p /puppeteer-config.json"
pipe=false
echo $@
while getopts ":hmv:M:" opt; do
case $opt in
h)
usage
exit
;;
v)
opts="$opts $OPTARG"
;;
m)
pipe=true
;;
M)
pipe=true
mmdc_opts="$mmdc_opts $OPTARG"
;;
\?)
echo "Invalid option : -$OPTARG" >&2
usage
exit 1
;;
esac
done
shift $((OPTIND-1))
echo $pipe
if $pipe; then
$cmd $opts | $mmdc $mmdc_opts
else
$cmd $opts
fi
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment