Ubuntu im Docker laufen lassen

Status
Für weitere Antworten geschlossen.

Dufooy

Benutzer
Mitglied seit
03. Nov 2012
Beiträge
277
Punkte für Reaktionen
0
Punkte
16
Hallo Zusammen,

ich suche ein brauchbares howto um auf meiner Syno im docker einen kleinen Ubuntuserver laufen zu lassen.
Dieser soll eigentlich nur einen F-Droid Server beinhalten und Racoon.

Ich habe dass ganze schon vor längerer Zeit auf einem ESXi aufgesetzt in einer VM und es läuft sauber ohne Probleme.

Ziel dess ganzen ist, da ich unter android auf Google Apps komplett verzichte, diese per F-Droid auf den Geräten zu verteilen.
Zum besseren Verständnis. Racoon holt für mich täglich die Updates aus dem goolge playstore ab und schiebt diese in das F-Droid repo welches danach neu gestartet wird um alle Aktualisierungen auf dem neuen Stand zu haben, thats it.

Nun scheitere ich schon beim einrichten des Containers, da ich nicht weiss welche Ports ich vergeben soll...danach geht es sicher mit den Ordnern nicht einfacher weiter.

Hat jemand irgendwo ein brauchbares howto gesehen oder kann posten wie man/ich so was aufsetzten kann, damit ich endlich vom ESXi weg komme.
Synology biete alles was ich brauche, da muss ich nicht noch einen extra Rechner für diese eine Maschine haben. Wenn die Zaraf4home sache läuft, kann ich den Rechner definitiv abschalten.

Denke es gibt auch andere die generell interessiert sind, zu erfahren wie Linux unter docker laufen/installiert werden kann.

Viele Grüße D.
 

frogtwist

Benutzer
Mitglied seit
08. Nov 2014
Beiträge
395
Punkte für Reaktionen
3
Punkte
18
Du musst im Docker einfach nur nach Ubuntu suchen und dir werden dann eine Reihe von offiziellen Docker-Images angezeigt die du dann nur noch downloaden brauchst. Danach starten und fertsch.
Allerdings bin ich dann daran gescheitert das ich keinen Zugriff per SSH auf die Maschine bekommen habe. Ständig kam eine SSH Fehlermeldung "Access denied" o.s.ä.
Die Ports routest du einfach nur. Musst halt schauen ob deine Applikationen auf spezielle Ports ansprechen. Für SSH z.B. bräuchtest du Zugriff über Port 22. Da diesen aber deine Machine schon benutzt musst du halt einen anderen angeben. Denn benutzt du dann wenn du per SSH dann darauf zugreifen willst. Mit deinen Programmen läuft es dann genauso.
( 80/443 Ubuntu auf 8080/40443 DSM z.B. routen )
 

Dufooy

Benutzer
Mitglied seit
03. Nov 2012
Beiträge
277
Punkte für Reaktionen
0
Punkte
16
Danke Dir frogtwist

Der Container läuft, nur wie komme ich nun SSH zum laufen.
Läuft dass im Container nativ oder muss da noch etwas konfiguriert oder gestartet werden?

Wenn ich per SSH zugreifen will kommt folgendes:
ssh_exchange_identification: read: Connection reset by peer

Den Befehl habe ich übergeben:
ssh -p 65535 root@192.168.1.118

Mit dem Befehl kommt folgendes:
ssh -p 65535 root@192.168.1.118 -v
OpenSSH_6.6.1, OpenSSL 1.0.1f 6 Jan 2014
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to 192.168.1.118 [192.168.1.118] port 65535.
debug1: Connection established.
debug1: identity file /home/dufoy/.ssh/id_rsa type -1
debug1: identity file /home/dufoy/.ssh/id_rsa-cert type -1
debug1: identity file /home/dufoy/.ssh/id_dsa type -1
debug1: identity file /home/dufoy/.ssh/id_dsa-cert type -1
debug1: identity file /home/dufoy/.ssh/id_ecdsa type -1
debug1: identity file /home/dufoy/.ssh/id_ecdsa-cert type -1
debug1: identity file /home/dufoy/.ssh/id_ed25519 type -1
debug1: identity file /home/dufoy/.ssh/id_ed25519-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.6
ssh_exchange_identification: read: Connection reset by peer

Müsste da nicht ggf. ein SSH Prozess laufen?
192.168.1.118_2016-04-08_13-53-25.jpg
Port 65535 habe ich auf den Port 22 im docker gelegt.

Auch ist mir noch nicht klar, wo ich das Passwort finde und ob der User stimmt.
sudo gibt es wohl in der Docker Console auch nicht.



Wie hast Du es versucht, auch wenn es nicht funktioniert hat.

Viele Grüße D.
 
Zuletzt bearbeitet:

frogtwist

Benutzer
Mitglied seit
08. Nov 2014
Beiträge
395
Punkte für Reaktionen
3
Punkte
18
Im Docker selbst muss dann nur noch das Image/Abbild starten.
in der Docker-App selbst gibt es eine Console wo du Zugriff auf Ubuntu hast. Dort kannst du Dich schon mal austoben. Leider kann man in diese nicht kopieren so das man um einen SSH Zugang nicht umhin kommt. Der Zugriff von außen würde dann über deine IP und dem gewählten Port erfolgen.

Ich gehe davon aus das du das Server-Image von Ubuntu meinst. Mit der Desktop-Anwendung habe ich mich noch nicht beschäftigt.
 

Dufooy

Benutzer
Mitglied seit
03. Nov 2012
Beiträge
277
Punkte für Reaktionen
0
Punkte
16

frogtwist

Benutzer
Mitglied seit
08. Nov 2014
Beiträge
395
Punkte für Reaktionen
3
Punkte
18
Jo, und genau bis dahin bin ich auch nur gekommen und habe es dann aus Zeitmangel aufgegeben. Wenn du fit im Terminal bist kannst du dich in der Docker-Console austoben.
Ich habe seitenweise das Netz nach der Fehlermeldung, die nun auch bei Dir kommt, durchforstet. Das scheint so speziell zu sein das es da hunderte von Antworten auf spezielle Szenerien gibt. Ab hier bin ich nun leider auch nicht mehr in der Lage Dir weiterzuhelfen. Ich denke das der Prozess selber im Image läuft und daher kein Auflistung im Protokoll erfolgt. Du brauchst übrigens einen Browser der das unterstützt wenn du auf das Docker Terminal zugreifen willst. Firefox hat bei mir ganz gut funktioniert.

https://www.google.de/search?q=goog...dentification:+read:+Connection+reset+by+peer
 

frogtwist

Benutzer
Mitglied seit
08. Nov 2014
Beiträge
395
Punkte für Reaktionen
3
Punkte
18
Muss eine meiner Aussagen revidieren. Mann kann doch im Docker-Terminal kopieren/einfügen. Über das Browser Menü geht es, nur nicht über die Tastaturbefehle. Bei mir ist das jedenfalls so.
 

4bob

Benutzer
Mitglied seit
04. Mai 2016
Beiträge
604
Punkte für Reaktionen
1
Punkte
38
Hallo,

um einen SSH Daemon innerhalb eines Docker Containers einzurichten kannst du wie folgt vorgehen:

Da du ja Ubuntu kennst,* installiere dort Docker, alternativ geht es auch über die Synology
bin aber nicht Zuhasue und kann das mit meiner nicht nachstellen daher erst mal die Basics :)

Erstelle dir mit Hilfe diese Dockerfile ein Ubuntu Container.

Rich (BBCode):
vi /tmp/Dockerfile

Rich (BBCode):
# sshd
#
# VERSION               0.0.2

FROM ubuntu:14.04
MAINTAINER Sven Dowideit <SvenDowideit@docker.com>

RUN apt-get update && apt-get install -y openssh-server
RUN mkdir /var/run/sshd
RUN echo 'root:screencast' | chpasswd
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

ENV NOTVISIBLE "in users profile"
RUN echo "export VISIBLE=now" >> /etc/profile

EXPOSE 22
CMD ["/usr/sbin/sshd", "-D"]

docker build -t bob_sshd /tmp

Successfully built f3c1bbcf5655

docker run -d -P --name test_sshd bob_sshd
055deb9247be81431dbf8e8c21621617fcc9e8ad4295d00f13d070f275a4f052

docker port test_sshd 22
0.0.0.0:32768

ssh root@bob-virtualbox -p 32768

Welcome to Ubuntu 14.04 LTS (GNU/Linux 3.13.0-85-generic x86_64)
root@055deb9247be:~#


Fertig - das Root Passwort steht im Script ;) screencast

Alles hier zum nachlesen; https://docs.docker.com/engine/examples/running_ssh_service/
PS. Wenn ich am Wochenende Zeit finde werde ich die Anleitung nur für die Syno anpassen. Es sollte aber möglich sein das du fertige Container importierst.

Hoffe das hilft dir weiter.

Gruß
Bob
 

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.475
Punkte für Reaktionen
358
Punkte
103
Da es kein Docker-Image für Racoon gibt führt wohl kein Weg vom selberbauen vorbei. Idealerweise erstellst Du dir dafür ein dockerfile.

Ich kann nur empfehlen die Referenzdoku von Docker zu lesen, damit ein Grundverstädnis aufgebaut wird, was es überhaupt ist und was für Konzepte dahinter stecken. Ihr macht euch das Leben unnötig schwer ;) Alternativ sollte auch das hier passen.

Die meisten Container die ich verwende haben SSH nicht laufen. Wenn man Shell-Zugriff braucht, dann ist 'docker exec -ti {container id} /bin/bash' der Weg um auf die Container Shell zu kommen,
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat