konfig verzeichnis erstellen
- mkdir -p ~/docker/im-ub-bind-ssh
Dockerfile erstellen
- cd ~/docker/im-ub-bind-ssh
- cat Dockerfile
# grundimage hier ubuntu 14:04
FROM ubuntu:14.04
#maintainer sind wir
MAINTAINER technik@xinux.de
#dies wird beim build und nur beim build ausgeführt
RUN apt-get update && apt-get install -y bind9 openssh-server supervisor
#frei zugebender port
EXPOSE 53
#verzeichnis welches wir zum mount vorbereiten
VOLUME ["/var/cache/bind/"]
# kopieren der angepassten named.conf.options
COPY named.conf.options /etc/bind/
# run dir erstellen
RUN mkdir /var/run/sshd
# root passwort setzen
RUN echo 'root:sysadm' | chpasswd
# login für root erlauben
RUN sed -i 's/PermitRootLogin without-password/PermitRootLogin yes/' /etc/ssh/sshd_config
# SSH login fix. Otherwise user is kicked off after login
RUN sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd
#diverser schnick schnack ....
ENV NOTVISIBLE "in users profile"
RUN echo "export VISIBLE=now" >> /etc/profile
#supervisor kopieren
COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf
# ports die zur verfügung gestellt werden
EXPOSE 22 53
## da mehere prozesse starten wir /usr/bin/supervisord
CMD ["/usr/bin/supervisord"]
~/docker/im-ub-bind-ssh/supvisord.conf
- wichtig abschliessender befehl muss im vordergrund laufen ...
[supervisord]
nodaemon=true
[program:sshd]
command=/usr/sbin/sshd -D
[program:named]
command=/bin/bash -c "exec /usr/sbin/named -f -u bind"
~/docker/im-ub-bind-ssh/named.conf.options
options {
directory "/var/cache/bind";
dnssec-validation auto;
auth-nxdomain no;
allow-query { any; };
};
image bauen
- docker build -t im-bind-ssh-01 .
- build => bau ein image
- -t => name des zu erstellenden images
- im-bind-01 => der name
- . => verzeichnis wo der Dockerfile liegt
anzeigen des neugebauten image
- docker images | grep im-bind-ssh-01
im-ub-bind-ssh-01 latest a9dcef9e1757 25 minutes ago 247.2 MB
container run
- docker run -d -p 22:22 -p 53:53 -p 53:53/udp --name co-bind-ssh-01 -v /var/docker/bind/var/cache/bind:/var/cache/bind im-bind-ssh-01
laufende container anzeigen lassen
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9f4e27a92301 test:latest "/usr/bin/supervisor 6 minutes ago Up 6 minutes 0.0.0.0:22->22/tcp, 0.0.0.0:53->53/tcp, 0.0.0.0:53->53/udp test
container betreten
- docker exec -it co-ub-bind-ssh-01 bash