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

Eine kurze Analyse der Unterschiede zwischen „:=“ und „=“ in MySQL

= Nur beim Setzen und Aktualisieren wirkt es wie ...

Durchführung der lokalen Migration von Docker-Images

Ich habe vor Kurzem Docker gelernt und stoße dabe...

Detaillierte Erklärung der Javascript-Grundlagen

Inhaltsverzeichnis Variable Datentypen Erweiterun...

Ubuntu-Installations-Grafiktreiber und CUDA-Tutorial

Inhaltsverzeichnis 1. Deinstallieren Sie den Orig...

So konfigurieren Sie https für Nginx in Docker

Websites ohne https-Unterstützung werden von Brow...

Tutorial zur Installation von MySQL 8.0.18 unter Windows (Community Edition)

In diesem Artikel wird kurz die Installation von ...

Details zum JavaScript-Prototyp und zur Prototypkette

Inhaltsverzeichnis 1. Prototyp (expliziter Protot...

Eine detaillierte Erklärung, wie React Fiber funktioniert

Inhaltsverzeichnis Was ist React Fiber? Warum Rea...