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

vue realisiert die Anpassung der Spaltenbreite von el-table perfekt

Inhaltsverzeichnis Hintergrund Technische Lösung ...

Grundlegendes Tutorial zur Steuerung des mobilen Roboters Turtlebot3 mit ROS

Chinesisch-Tutorial https://www.ncnynl.com/catego...

Eine kurze Diskussion über die Rolle von Vue3 defineComponent

Inhaltsverzeichnis defineComponent-Überladungsfun...

Detaillierte Erläuterung der MySQL-Datumszeichenfolgen-Zeitstempelkonvertierung

Die Konvertierung zwischen Zeit, Zeichenfolge und...

CSS erzielt den Effekt der Vermischung zweier Elemente (Sticky-Effekt)

Ich erinnere mich, dass es vor ein paar Jahren in...

Mit JS ein kleines Flugzeugkriegsspiel implementieren

In diesem Artikelbeispiel wird der spezifische JS...

Detaillierte Untersuchung des MySQL-Verbundindex

Ein zusammengesetzter Index (auch gemeinsamer Ind...

base target="" steuert den Ziel-Open-Frame des Links

<base target=_blank> ändert den Zielrahmen d...

Methoden und Schritte zum Upgrade von MySql5.x auf MySql8.x

Mehrere Unterschiede zwischen MySQL 5.x und MySQL...

In diesem Artikel erfahren Sie mehr über NULL in MySQL

Inhaltsverzeichnis Vorwort NULL in MySQL 2 NULL b...