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
|
## Docker
|
||||||
|
|
||||||
## Create Container
|
Using our [Dockerfile](docker/Dockerfile) you create your own Docker container
|
||||||
|
that is used to build a VyOS documentation.
|
||||||
|
|
||||||
|
## Setup
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ docker build -t vyos-docu - < Dockerfile
|
$ docker build -t vyos-docu docker
|
||||||
```
|
```
|
||||||
|
|
||||||
### Build Documentation
|
### Build
|
||||||
|
|
||||||
Linux
|
Linux
|
||||||
```bash
|
```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