So erstellen Sie einen SSH-Dienst basierend auf einem Golang-Image in Docker

So erstellen Sie einen SSH-Dienst basierend auf einem Golang-Image in Docker

Nachfolgend finden Sie den Code zum Erstellen eines SSH-Dienstes basierend auf dem Golang-Image in Docker. Der spezifische Inhalt lautet wie folgt:

# golang:neuestes Bild VON ee23292e2826
# Autor MAINTAINER [email protected]
# Golang-Umgebungsvariable ENV GOPROXY hinzufügen https://goproxy.cn,direct
ENV GO111MODULE ein
# Konfigurieren Sie apt-get source ADD sources.list /etc/apt/
# Apt-get-Quelle aktualisieren SSH-Dienst installieren Root-Passwort ändern SSH-Dienst konfigurieren Remote-Login für Root zulassen "SSH-Dienst aktivieren Adressinformationen in /root/ip.txt und tail -f schreiben" in /root/ip.sh schreiben Ausführungsberechtigung für ip.sh erteilen apt-get update \ ausführen
&& apt-get -y installiere ssh \
&& echo "root:1" | chpasswd \
&& echo "PermitRootLogin ja" >> /etc/ssh/sshd_config \
&& echo "service ssh start && ip-Adresse | grep global > /root/ip.txt && tail -f /root/ip.txt" > /root/ip.sh \
&& chmod +x /root/ip.sh
# Führen Sie ENTRYPOINT ["sh","-l"] beim Start aus
CMD ["/root/ip.sh"]

-p Hostadresse:Host-Port:Container-Port
-v Host-Volume:Container-Volume
docker run -itd -p 2222:22 -v /root/fserver/:/go/src/fserver 4618

PS: Docker basierend auf SSHD und Golang-Umgebung unter CentOS

1. Docker-Datei

#Centos7-Image von Centos erben:centos7
WARTUNGSBEDIENER tpythoner [email protected]"
 
#yum installiere SSHD-Dienst #RUN yum install -y openssh openssh-server openssh-clients
Führen Sie den Befehl yum install -y openssh-server aus.
 
#SSHD erstellen
FÜHREN Sie mkdir /var/run/sshd aus
Führen Sie den Befehl ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key aus.
Führen Sie den Befehl ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key aus.
 
#Legen Sie das Root-Passwort fest und fügen Sie den tpythoner-Benutzer hinzu RUN /bin/echo 'root:mypwd' |chpasswd
FÜHREN SIE useradd tpythoner aus
RUN /bin/echo 'tpythoner:mypwd' |chpasswd
 
#PAM-Einschränkung aufheben RUN /bin/sed -i 's/.*session.*required.*pam_loginuid.so.*/session optional pam_loginuid.so/g' /etc/pam.d/sshd
RUN /bin/echo -e "LANG=\"en_US.UTF-8\"" > /etc/default/local
 
#Golang installieren
#RUN yum install -y wget
#RUN wget http://golangtc.com/static/go/go1.4.2.linux-amd64.tar.gz
#RUN tar zxvf go1.4.2.linux-amd64.tar.gz -C /usr/local/
Füge go1.4.2.linux-amd64.tar.gz /root hinzu
ADD golang.conf /root/golang.conf
FÜHREN Sie mv /root/go /usr/local/ aus.
#RUN echo "export GOROOT=/usr/local/go" >> /etc/profile
#RUN echo "export GOBIN=$GOROOT/bin" >> /etc/profile
#RUN echo "export PATH=$PATH:$GOBIN" >> /etc/profile
#RUN echo "export GOPATH=/home/golang" >> /etc/profile
Führen Sie den Befehl cat /root/golang.conf >> /etc/profile aus.
RUN echo "Quelle /etc/Profil" >> /root/.bashrc
RUN mkdir -p /home/golang
# Entwicklungsport EXPOSE 22
AUSSETZEN 80
#Starten Sie den SSHD-Dienst CMD /usr/sbin/sshd -D

2. golang.conf

export GOROOT=/usr/local/go
export GOBIN=$GOROOT/bin
export PATH=$PATH:$GOBIN
export GOPATH=/home/golang

3. Laden Sie go1.4.2.linux-amd64.tar.gz herunter

wget http://golangtc.com/static/go/go1.4.2.linux-amd64.tar.gz

4. Neue Docker-Images erstellen

Docker-Build -rm -t centos:go_sshd.

5. Führen Sie das Image aus, um den Container zu generieren

docker run -d -p 2222:22 -p 80:80 centos:go_sshd
#Wenn Sie auf WARNUNG stoßen: DIE IDENTIFIZIERUNG DES REMOTE-HOSTS HAT SICH GEÄNDERT!
echo '' >> ~/.ssh/bekannte_Hosts

6. Verbinden Sie sich mit dem go_sshd-Container

ssh [email protected] -p 2222 #ip ist die Container-IP, das Passwort steht im Dockerfile: mypwd

Dies ist das Ende dieses Artikels zum Erstellen eines SSH-Dienstes mit Docker basierend auf einem Golang-Image. Weitere Informationen zum Erstellen eines SSH-Dienstes mit Docker finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

<<:  Beispiel für Formularaktion und „onSubmit“

>>:  Detaillierte Erklärung des Sticky Position-Attributs in CSS

Artikel empfehlen

Linux: Kein Speicherplatz mehr auf Gerät 500 – Fehler aufgrund voller Inodes

Was ist ein Inode? Um Inode zu verstehen, müssen ...

Detaillierte Erklärung der Ansichtszusammenfassungsdefinition im Angular-Framework

Vorwort Als Front-End-Framework, das „für große F...

So zeigen Sie kleine Symbole in der Browsertitelleiste einer HTML-Webseite an

Genau wie dieser Effekt ist auch die Methode sehr...

So fügen Sie img-Bilder in Vue-Seiten ein

Wenn wir HTML lernen, führt das Bild-Tag <img&...

Der Interviewer fragte, wie man in CSS ein festes Seitenverhältnis erreicht

Möglicherweise hatten Sie für diese Frage bisher ...

Zusammenfassung gängiger Begriffe in CSS (Cascading Style Sheet)

Wenn Sie CSS verwenden, vergessen Sie nicht, DOCTY...

Fallstricke und Lösungen bei der MySQL-Zeitstempelvergleichsabfrage

Inhaltsverzeichnis Fallstricke bei Zeitstempelver...

Diskussion über die Möglichkeit zum Öffnen von Website-Hyperlinks

Ein neues Fenster wird geöffnet. Vorteile: Wenn d...

CSS3-Mauszeiger-Übergangszoomeffekt

Das Folgende ist ein Bild-Zoom-Effekt, der in rei...

javascript:void(0) Bedeutung und Anwendungsbeispiele

Einführung in das Schlüsselwort void Zunächst ein...