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 dechao@qq.com
# 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 tpythoner@gmail.com"
 
#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 root@192.168.59.103 -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

Detailliertes Tutorial zur Überwachung von Nginx/Tomcat/MySQL mit Zabbix

Inhaltsverzeichnis Zabbix überwacht Nginx Zabbix ...

Analyse der MySQL-Ansichtsfunktionen und Anwendungsbeispiele

Dieser Artikel veranschaulicht anhand von Beispie...

Die Einhandregel von WEB 2.0

<br />Mein vorheriger Artikel über CSS wurde...

Techniken zur Wiederverwendung von HTML

HTML-Wiederverwendung ist ein Begriff, der selten ...

So setzen Sie Ihr Linux-Passwort zurück, wenn Sie es verloren haben

1. Das Startmenü besteht darin, den Cursor in die...

Beispiele für Vorschaufunktionen für verschiedene Dateitypen in vue3

Inhaltsverzeichnis Vorwort 1. Vorschau der Office...

Implementierung der Wiederaufnahme des K8S-Knotens in den Master-Cluster

1. Knoten löschen Führen Sie kubectl delete node ...

Erläuterung, ob im interaktiven Design Paging oder Laden gewählt werden soll

Der Autor dieses Artikels @子木yoyo hat ihn in seine...

Erfahren Sie in zehn Minuten, wie Sie Microservices mit Docker bereitstellen

Seit seiner Veröffentlichung im Jahr 2013 wird Do...