mirror of
https://github.com/vyos/vyos-documentation.git
synced 2025-10-26 08:41:46 +01:00
Docker: update Dockerfile and description
This commit is contained in:
parent
c208ed8d03
commit
0a0e3c5ebd
27
Dockerfile
27
Dockerfile
@ -1,27 +0,0 @@
|
||||
# Must be run with --privileged flag
|
||||
# Recommended to run the container with a volume mapped
|
||||
# in order to easy exprort images built to "external" world
|
||||
FROM debian:stretch
|
||||
|
||||
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \
|
||||
vim \
|
||||
git \
|
||||
mc \
|
||||
make \
|
||||
python3-sphinx \
|
||||
python-sphinx-rtd-theme \
|
||||
latexmk \
|
||||
texlive-latex-recommended \
|
||||
texlive-fonts-recommended \
|
||||
texlive-latex-extra sudo \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
RUN groupadd -g 1000 debian
|
||||
RUN useradd -d /home/debian -ms /bin/bash -g 1000 -u 1000 debian && \
|
||||
echo "debian:debian" | chpasswd && \
|
||||
adduser debian sudo
|
||||
|
||||
RUN echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
|
||||
|
||||
USER debian
|
||||
WORKDIR ~
|
||||
18
README.md
18
README.md
@ -20,22 +20,18 @@ Required Debian Packages:
|
||||
|
||||
## Docker
|
||||
|
||||
## Create Container
|
||||
Using our [Dockerfile](docker/Dockerfile) you create your own Docker container
|
||||
that is used to build a VyOS documentation.
|
||||
|
||||
## Setup
|
||||
|
||||
```bash
|
||||
$ docker build -t vyos-docu - < Dockerfile
|
||||
$ docker build -t vyos-docu docker
|
||||
```
|
||||
|
||||
### Build Documentation
|
||||
### Build
|
||||
|
||||
Linux
|
||||
```bash
|
||||
$ docker run -v `pwd`:`pwd` -w `pwd`/docs -i -t --rm vyos-docu bash
|
||||
$ docker run --rm -it -v "$(pwd)":/vyos -w /vyos/docs -e GOSU_UID=$(id -u) -e GOSU_GID=$(id -g) vyos-docu make html
|
||||
```
|
||||
|
||||
Windows PowerShell
|
||||
```powershell
|
||||
docker run -v "$($pwd.path):/vyos" -w "/vyos/docs" -i -t --rm vyos-docu bash
|
||||
```
|
||||
|
||||
Inside the container you can then build the documentation as stated above.
|
||||
|
||||
36
docker/Dockerfile
Normal file
36
docker/Dockerfile
Normal file
@ -0,0 +1,36 @@
|
||||
# Must be run with --privileged flag
|
||||
# Recommended to run the container with a volume mapped
|
||||
# in order to easy exprort images built to "external" world
|
||||
FROM debian:stretch
|
||||
LABEL authors="VyOS Maintainers <maintainers@vyos.io>"
|
||||
|
||||
ENV DEBIAN_FRONTEND noninteractive
|
||||
|
||||
# Standard shell should be bash not dash
|
||||
RUN echo "dash dash/sh boolean false" | debconf-set-selections && \
|
||||
dpkg-reconfigure dash
|
||||
|
||||
RUN apt-get update && apt-get install -y \
|
||||
vim \
|
||||
git \
|
||||
mc \
|
||||
make \
|
||||
python3-sphinx \
|
||||
python-sphinx-rtd-theme \
|
||||
latexmk \
|
||||
texlive-latex-recommended \
|
||||
texlive-fonts-recommended \
|
||||
texlive-latex-extra \
|
||||
sudo \
|
||||
gosu
|
||||
|
||||
# Cleanup
|
||||
RUN rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Allow password-less 'sudo' for all users in group 'sudo'
|
||||
RUN sed "s/^%sudo.*/%sudo\tALL=(ALL) NOPASSWD:ALL/g" -i /etc/sudoers && \
|
||||
chmod a+s /usr/sbin/useradd /usr/sbin/groupadd /usr/sbin/gosu /usr/sbin/usermod
|
||||
|
||||
COPY entrypoint.sh /usr/local/bin/entrypoint.sh
|
||||
ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]
|
||||
|
||||
32
docker/entrypoint.sh
Executable file
32
docker/entrypoint.sh
Executable file
@ -0,0 +1,32 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
USER_NAME="vyos_bld"
|
||||
NEW_UID=$(stat -c "%u" .)
|
||||
NEW_GID=$(stat -c "%g" .)
|
||||
|
||||
# Change effective UID to the one specified via "-e GOSU_UID=`id -u $USER`"
|
||||
if [ -n "$GOSU_UID" ]; then
|
||||
NEW_UID=$GOSU_UID
|
||||
fi
|
||||
|
||||
# Change effective UID to the one specified via "-e GOSU_GID=`id -g $USER`"
|
||||
if [ -n "$GOSU_GID" ]; then
|
||||
NEW_GID=$GOSU_GID
|
||||
fi
|
||||
|
||||
# Notify user about selected UID/GID
|
||||
echo "Current UID/GID: $NEW_UID/$NEW_GID"
|
||||
|
||||
# Create UNIX group on the fly if it does not exist
|
||||
if ! grep -q $NEW_GID /etc/group; then
|
||||
groupadd --gid $NEW_GID $USER_NAME
|
||||
fi
|
||||
|
||||
useradd --shell /bin/bash --uid $NEW_UID --gid $NEW_GID --non-unique --create-home $USER_NAME
|
||||
usermod --append --groups sudo $USER_NAME
|
||||
sudo chown $NEW_UID:$NEW_GID /home/$USER_NAME
|
||||
export HOME=/home/$USER_NAME
|
||||
|
||||
# Execute process
|
||||
exec /usr/sbin/gosu $USER_NAME "$@"
|
||||
Loading…
x
Reference in New Issue
Block a user