expose-netns
This commit is contained in:
commit
1490f8f520
|
@ -0,0 +1,50 @@
|
|||
# Użyj najnowszego obrazu bazowego Debian
|
||||
FROM debian:latest
|
||||
|
||||
# Ustaw zmienną środowiskową DEBIAN_FRONTEND na noninteractive, aby uniknąć interaktywnych promptów podczas instalacji pakietów
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
# Aktualizacja pakietów i instalacja wymaganych narzędzi wraz z python3 i python3-scapy
|
||||
RUN apt-get update && apt-get install -y \
|
||||
iproute2 \
|
||||
curl \
|
||||
vim \
|
||||
tmux \
|
||||
git \
|
||||
htop \
|
||||
mc \
|
||||
sudo \
|
||||
wget \
|
||||
gnupg \
|
||||
tcpdump \
|
||||
termshark \
|
||||
python3 \
|
||||
python3-scapy \
|
||||
iputils-ping \
|
||||
traceroute \
|
||||
ipcalc
|
||||
|
||||
# Ustawienie hasła dla użytkownika root
|
||||
RUN echo "root:rootpass" | chpasswd
|
||||
|
||||
# Tworzenie nowego użytkownika 'user' z hasłem 'pass' i dodanie do grupy sudo
|
||||
RUN useradd -m -s /bin/bash user && \
|
||||
echo "user:pass" | chpasswd && \
|
||||
usermod -aG sudo user
|
||||
|
||||
# Przekopiowanie folderu `app` do kontenera w ścieżce `/home/user/app`
|
||||
COPY ./app /home/user/app
|
||||
|
||||
# Zmiana właściciela folderu app na użytkownika `user`
|
||||
RUN chown -R user:user /home/user/app
|
||||
|
||||
# Ustawienie domyślnego użytkownika na 'user'
|
||||
USER user
|
||||
|
||||
# Ustawienie punktu wejścia, który uruchomi serwer HTTP w folderze `~/app` na porcie 8888
|
||||
WORKDIR /home/user/app
|
||||
CMD ["python3", "-m", "http.server", "8888"]
|
||||
|
||||
# Expose port 8888 to allow traffic through it
|
||||
EXPOSE 8888
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
f() { sudo docker run --rm -dit --privileged --network none --name "$1" deb su - user; }; f deb1
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
#!/bin/bash
|
||||
|
||||
if [ $# -ne 1 ]; then
|
||||
echo "Usage: $0 <container id or name>"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "expose container $1 netns"
|
||||
NETNS=`sudo docker inspect -f '{{.State.Pid}}' $1`
|
||||
|
||||
if [ ! -d /var/run/netns ]; then
|
||||
sudo mkdir /var/run/netns
|
||||
fi
|
||||
if [ -f /var/run/netns/$NETNS ]; then
|
||||
sudo rm -rf /var/run/netns/$NETNS
|
||||
fi
|
||||
|
||||
sudo ln -s /proc/$NETNS/ns/net /var/run/netns/$NETNS
|
||||
echo "done. netns: $NETNS"
|
||||
|
||||
echo "============================="
|
||||
echo "current network namespaces: "
|
||||
echo "============================="
|
||||
ip netns
|
Loading…
Reference in New Issue