

 AWS Cloud9 ist für Neukunden nicht mehr verfügbar. Bestehende Kunden von AWS Cloud9 können den Dienst weiterhin wie gewohnt nutzen. [Weitere Informationen](https://aws.amazon.com/blogs/devops/how-to-migrate-from-aws-cloud9-to-aws-ide-toolkits-or-aws-cloudshell/)

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Docker-Tutorial für AWS Cloud9
<a name="sample-docker"></a>

Dieses Tutorial zeigt Ihnen, wie Sie eine AWS Cloud9 SSH-Entwicklungsumgebung mit einem laufenden Docker-Container innerhalb einer Amazon Linux-Instance in Amazon EC2 verbinden. Auf diese Weise können Sie die AWS Cloud9 IDE verwenden, um mit Code und Dateien in einem Docker-Container zu arbeiten und Befehle in diesem Container auszuführen. Weitere Informationen zu Docker finden Sie unter [Was ist Docker](https://www.docker.com/what-docker) auf der Docker-Website.

Wenn Sie diesem Tutorial folgen und dieses Beispiel erstellen, kann dies dazu führen, dass Ihr AWS Konto belastet wird. Dies umfasst mögliche Kosten für Services wie .Amazon EC2. Weitere Informationen finden Sie unter [Amazon EC2 – Preise](https://aws.amazon.com/ec2/pricing/).

**Topics**
+ [Voraussetzungen](#sample-docker-prereqs)
+ [Schritt 1: Installieren und Ausführen von Docker](#sample-docker-install)
+ [Schritt 2: Erstellen des Image](#sample-docker-build)
+ [Schritt 3: Ausführen des Containers](#sample-docker-run)
+ [Schritt 4: Erstellen der Umgebung](#sample-docker-env)
+ [Schritt 5: Ausführen des Codes](#sample-docker-code)
+ [Schritt 6: Bereinigen](#sample-docker-clean-up)

## Voraussetzungen
<a name="sample-docker-prereqs"></a>
+  **Sie sollten eine Amazon-EC2-Instance besitzen, auf der Amazon Linux oder Ubuntu Server ausgeführt wird.** In diesem Beispiel wird davon ausgegangen, dass Sie in Ihrem AWS Konto bereits eine Amazon EC2 EC2-Instance haben, auf der Amazon Linux oder Ubuntu Server ausgeführt wird. Weitere Informationen zum Starten einer Amazon-EC2-Instance finden Sie unter [Starten einer virtuellen Linux-Maschine](https://aws.amazon.com/getting-started/tutorials/launch-a-virtual-machine/). Wählen Sie auf der Seite **Choose an Amazon Machine Image (AMI) (Ein Amazon Machine Image (AMI) auswählen)** des Assistenten ein AMI aus, dessen Anzeigename mit **Amazon Linux AMI** oder **Ubuntu Server** beginnt.
+  **Wenn die Amazon EC2-Instance innerhalb einer Amazon VPC ausgeführt wird, gibt es zusätzliche Anforderungen.** Siehe [VPC-Einstellungen für AWS Cloud9 Entwicklungsumgebungen](vpc-settings.md).
+  **Die Amazon EC2-Instance sollte über mindestens 8 bis 16 GB freien Speicherplatz verfügen.** Dieses Beispiel verwendet Docker-Images, die größer als 3 GB sind, und kann zusätzliche Inkrements von 3 GB oder mehr Speicherplatz zum Erstellen von Images nutzen. Beim Versuch, dieses Beispiel auf einem Datenträger mit 8 GB freiem Speicherplatz oder weniger auszuführen, haben wir festgestellt, dass das Docker-Image möglicherweise nicht erstellt oder der Docker-Container nicht ausgeführt wird. Um den freien Speicher der Instance zu überprüfen, können Sie einen Befehl wie z. B. ** `df -h` ** (für „Dateisysteminformationen in vom Menschen lesbaren Format“) auf der Instance ausführen. Informationen zum Erhöhen der Festplattengröße einer vorhandenen Instance finden Sie unter [Modifying a Volume](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-modify-volume.html) im *Amazon EC2 EC2-Benutzerhandbuch*.

## Schritt 1: Installieren und Ausführen von Docker
<a name="sample-docker-install"></a>

In diesem Schritt prüfen Sie, ob Docker auf der Amazon-EC2-Instance installiert ist, und installieren Docker, falls es noch nicht installiert ist. Nachdem Sie Docker installiert haben, führen Sie es auf der Instance aus.

1. Stellen Sie eine Verbindung mit der laufenden Amazon-EC2-Instance unter Verwendung eines SSH-Clients her, wie z. B. über das Dienstprogramms ** `ssh` ** oder PuTTY. Wie das funktioniert, ist unter „Schritt 3: Herstellen einer Verbindung mit Ihrer Instance“ in [Starten einer virtuellen Linux-Maschine](https://aws.amazon.com/getting-started/tutorials/launch-a-virtual-machine/) beschrieben.

1. Überprüfen Sie, ob Docker auf der Instance installiert ist. Führen Sie zu diesem Zweck den Befehl ** `docker` ** auf der Instance mit der Option ** `--version` ** aus.

   ```
   docker --version
   ```

   Wenn Docker installiert ist, werden die Docker-Version und die Build-Nummer angezeigt. In diesem Fall fahren Sie mit Schritt 5 dieses Verfahrens fort.

1. Docker-Installation. Dazu führen Sie den Befehl ** `yum` ** oder ** `apt` ** mit der Aktion ** `install` ** aus und geben das zu installierende Paket ** `docker` ** oder ** `docker.io` ** an.

   Für Amazon Linux:

   ```
   sudo yum install -y docker
   ```

   Für Ubuntu Server:

   ```
   sudo apt install -y docker.io
   ```

1. Vergewissern Sie sich, dass Docker installiert ist. Führen Sie dazu den Befehl ** `docker --version` ** erneut aus. Die Docker-Version und die Build-Nummer werden angezeigt.

1. Führen Sie Docker aus. Dazu führen Sie den Befehl ** `service` ** mit dem Service ** `docker` ** und der Aktion ** `start` ** aus.

   ```
   sudo service docker start
   ```

1. Überprüfen Sie, ob Docker ausgeführt wird. Führen Sie zu diesem Zweck den Befehl ** `docker` ** mit der Aktion ** `info` ** aus.

   ```
   sudo docker info
   ```

   Wenn Docker ausgeführt wird, werden Informationen über Docker angezeigt.

## Schritt 2: Erstellen des Image
<a name="sample-docker-build"></a>

In diesem Schritt verwenden Sie eine Dockerdatei, um ein Docker-Image auf der Instance zu erstellen. Dieses Beispiel verwendet ein Image mit Node.js und ein Beispiel für eine Chat-Server-Anwendung.

1. Klicken Sie das Dockerfile auf der Instance. Dazu erstellen Sie, während der SSH-Client noch mit der Instance verbunden ist, im Verzeichnis `/tmp` auf der Instance die Datei namens `Dockerfile`. Führen Sie beispielsweise den Befehl ** `touch` ** wie folgt aus.

   ```
   sudo touch /tmp/Dockerfile
   ```

1. Fügen Sie der Datei `Dockerfile` die folgenden Inhalte hinzu.

   ```
   # Build a Docker image based on the Amazon Linux 2 Docker image.
   FROM amazonlinux:2
   
   # install common tools
   RUN yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
   RUN yum update -y
   RUN yum install -y sudo bash curl wget git man-db nano vim bash-completion tmux  gcc gcc-c++ make tar
   
   # Enable the Docker container to communicate with AWS Cloud9 by
   # installing SSH.
   RUN yum install -y openssh-server
   
   # Ensure that Node.js is installed.
   RUN yum install -y nodejs
   
   # Create user and enable root access
   RUN useradd --uid 1000 --shell /bin/bash -m --home-dir /home/ubuntu ubuntu && \
       sed -i 's/%wheel\s.*/%wheel ALL=NOPASSWD:ALL/' /etc/sudoers && \
       usermod -a -G wheel ubuntu
   
   # Add the AWS Cloud9 SSH public key to the Docker container.
   # This assumes a file named authorized_keys containing the
   # AWS Cloud9 SSH public key already exists in the same
   # directory as the Dockerfile.
   RUN mkdir -p /home/ubuntu/.ssh
   ADD ./authorized_keys /home/ubuntu/.ssh/authorized_keys
   RUN chown -R ubuntu /home/ubuntu/.ssh /home/ubuntu/.ssh/authorized_keys && \
   chmod 700 /home/ubuntu/.ssh && \
   chmod 600 /home/ubuntu/.ssh/authorized_keys
   
   # Update the password to a random one for the user ubuntu.
   RUN echo "ubuntu:$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1)" | chpasswd
   
   # pre-install Cloud9 dependencies
   USER ubuntu
   RUN curl https://d2j6vhu5uywtq3.cloudfront.net/static/c9-install.sh | bash
   
   USER root
   # Start SSH in the Docker container.
   CMD ssh-keygen -A && /usr/sbin/sshd -D
   ```

   Um den vorherigen Inhalt der Datei `Dockerfile` hinzuzufügen, könnten Sie das Dienstprogramm ** `vi` ** auf der Instance wie folgt verwenden.

   1. Verwenden Sie den AWS Cloud9 , um die `/tmp/Dockerfile` Datei zu öffnen und zu bearbeiten.

      ```
      sudo vi /tmp/Dockerfile
      ```

   1. Fügen Sie den vorherigen Inhalt in die `Dockerfile`-Datei ein. Falls Sie nicht sicher sind, wie das geht, lesen Sie in der Dokumentation Ihres SSH-Clients nach.

   1. Wechseln Sie in den Befehlsmodus. Um dies zu tun, drücken Sie die `Esc`-Taste. (`-- INSERT --` verschwindet unten im Fenster).

   1. Geben Sie `:wq` ein (um in die `/tmp/Dockerfile`-Datei zu schreiben, die Datei zu speichern und ** `vi` ** zu verlassen), und drücken Sie dann `Enter`.
**Anmerkung**  
Sie können auf eine häufig aktualisierte Liste von Docker-Images unter zugreifen. AWS CodeBuild Weitere Informationen finden Sie CodeBuild im *AWS CodeBuild Benutzerhandbuch* unter [Docker-Images bereitgestellt von](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-available.html).

1. Erstellen Sie auf der Instanz eine Datei, die den öffentlichen AWS Cloud9 SSH-Schlüssel für den zu verwendenden Docker-Container enthält. Erstellen Sie dazu im selben Verzeichnis, in dem sich die `Dockerfile`-Datei befindet, eine Datei beispielsweise namens `authorized_keys`, indem Sie den Befehl ** `touch` ** ausführen.

   ```
   sudo touch /tmp/authorized_keys
   ```

1. Fügen Sie der AWS Cloud9 Datei den öffentlichen SSH-Schlüssel hinzu. `authorized_keys` Gehen Sie wie folgt vor, um den öffentlichen AWS Cloud9 SSH-Schlüssel zu erhalten:

   1. Öffnen Sie die AWS Cloud9 Konsole unter. [https://console.aws.amazon.com/cloud9/](https://console.aws.amazon.com/cloud9/)

   1. Wählen Sie in der AWS Navigationsleiste in der AWS Regionsauswahl die AWS Region aus, in der Sie später in diesem Thema die AWS Cloud9 Entwicklungsumgebung erstellen möchten.

   1. Wenn eine Willkommensseite angezeigt wird, wählen Sie für **Neue AWS Cloud9 Umgebung** die Option **Umgebung erstellen** aus. Andernfalls wählen Sie **Create environment (Umgebung erstellen)** aus.

   1. Geben Sie auf der Seite **Name environment (Umgebung benennen)** für **Name** einen Namen für die Umgebung ein. (Der Name spielt hier keine Rolle. Sie werden später einen anderen Namen wählen.)

   1. Klicken Sie auf **Nächster Schritt**.

   1. Wählen Sie für **Environment type (Umgebungstyp)** die Option **Connect and run in remote server (SSH) (Verbindung zu Remote-Server herstellen (SSH) und dort ausführen)**.

   1. Erweitern Sie **View public SSH key (Öffentlichen SSH-Schlüssel anzeigen)**.

   1. Wählen Sie **Copy key to clipboard (Schlüssel in Zwischenablage kopieren)**. (Diese Option befindet sich zwischen **View public SSH key (Öffentlichen SSH-Schlüssel anzeigen)** und **Advanced settings (Erweiterte Einstellungen)**.)

   1. Klicken Sie auf **Abbrechen**.

   1. Kopieren Sie den Inhalt der Zwischenablage in die `authorized_keys`-Datei und speichern Sie die Datei. Beispielsweise können Sie das Dienstprogramm ** `vi` ** verwenden, wie weiter oben in diesem Schritt beschrieben.

1. Erstellen Sie das Image, indem Sie den Befehl ** `docker` ** mit der Aktion ** `build` ** ausführen, dem Image das Tag `cloud9-image:latest` hinzufügen und den Pfad zu der zu verwendenden `Dockerfile`-Datei angeben.

   ```
   sudo docker build -t cloud9-image:latest /tmp
   ```

   Ist der Befehl erfolgreich, enthalten die letzten beiden Zeilen der Build-Ausgabe `Successfully built` und `Successfully tagged`.

   Um zu bestätigen, dass Docker das Image erfolgreich erstellt hat, führen Sie den Befehl ** `docker` ** mit der Aktion `image ls` aus.

   ```
   sudo docker image ls
   ```

   Ist dieser erfolgreich, zeigt die Ausgabe einen Eintrag an, in dem das Feld `REPOSITORY` auf `cloud9-image` und das Feld `TAG` auf `latest` gesetzt sind.

1. Notieren Sie die öffentliche IP-Adresse der Amazon EC2-Instance. Sie benötigen sie für [Schritt 4: Erstellen der Umgebung](#sample-docker-env). Wenn Sie sich nicht sicher sind, was die öffentliche IP-Adresse der Instance ist, können Sie den folgenden Befehl auf der Instance ausführen, um sie abzurufen.

   ```
   curl http://169.254.169.254/latest/meta-data/public-ipv4
   ```

## Schritt 3: Ausführen des Containers
<a name="sample-docker-run"></a>

In diesem Schritt führen Sie einen Docker-Container auf der Instance aus. Dieser Container basiert auf dem Image, das Sie im vorherigen Schritt erstellt haben.

1. Um den Docker-Container auszuführen, führen Sie den Befehl ** `docker` ** auf der Instance mit der Aktion ** `run` ** und den folgenden Optionen aus.

   ```
   sudo docker run -d -it --expose 9090 -p 0.0.0.0:9090:22 --name cloud9 cloud9-image:latest
   ```
   +  `-d` führt den Container in getrennten Modus aus und beendet der Befehl, wenn der Root-Prozess, der für die Ausführung des Containers verwendet wird (in diesem Beispiel der SSH-Client) beendet wird.
   +  `-it` führt den Container mit einem zugewiesenen Pseudo-TTY aus und hält STDIN offen, auch wenn der Container nicht zugeordnet ist.
   +  `--expose` stellt den angegebenen Port (in diesem Beispiel Port `9090`) vom Container aus zur Verfügung.
   +  `-p` stellt den angegebenen Port für die Amazon EC2-Instance über die angegebene IP-Adresse und den Port zur Verfügung. In diesem Beispiel ist der Zugriff auf Port `9090` im Container intern über Port `22` auf der Amazon EC2-Instance möglich.
   +  `--name` ist ein vom Menschen lesbarer Name für den Container (in diesem Beispiel `cloud9`).
   +  `cloud9-image:latest` ist der vom Menschen lesbare Name des erstellten Image, das für die Ausführung des Containers verwendet wird.

   Um zu bestätigen, dass Docker den Container erfolgreich ausführt, führen Sie den Befehl ** `docker` ** mit der Aktion `container ls` aus.

   ```
   sudo docker container ls
   ```

   Ist dieser erfolgreich, zeigt die Ausgabe einen Eintrag an, in dem das Feld `IMAGE` auf `cloud9-image:latest` und das Feld `NAMES` auf `cloud9` gesetzt sind.

1. Melden Sie sich bei dem ausgeführten Container an. Führen Sie dazu den Befehl ** `docker` ** mit der Aktion ** `exec` ** und den folgenden Optionen aus.

   ```
   sudo docker exec -it cloud9 bash
   ```
   +  `-it` führt den Container mit einem zugewiesenen Pseudo-TTY aus und hält STDIN offen, auch wenn der Container nicht zugeordnet ist.
   +  `cloud9` ist der vom Menschen lesbare Name des ausgeführten Containers.
   +  `bash` startet die Standard-Shell im ausgeführten Container.

   Ist der Befehl erfolgreich ändert sich die Terminal-Eingabeaufforderung und zeigt den Namen des angemeldeten Benutzers für den Container und die ID des Containers an.
**Anmerkung**  
Wenn Sie sich von dem ausgeführten Container abmelden möchten, führen Sie den Befehl ** `exit` ** aus. Die Terminal-Eingabeaufforderung zeigt wieder den Namen des angemeldeten Benutzers für die Instance und den privaten DNS der Instance an. Der Container muss noch ausgeführt werden.

1. Legen Sie für das Verzeichnis auf dem laufenden Container, von dem aus Sie nach der Anmeldung beginnen möchten AWS Cloud9 , die Zugriffsberechtigungen auf fest **`rwxr-xr-x`**. Das bedeutet read-write-execute Berechtigungen für den Besitzer, Lese- und Ausführungsberechtigungen für die Gruppe und Lese- und Ausführungsberechtigungen für andere. Beispiel: Wenn der Pfad des Verzeichnisses `~` ist, können Sie diese Berechtigungen für das Verzeichnis festlegen, indem Sie folgendermaßen den Befehl ** `chmod` ** in dem ausgeführten Container ausführen.

   ```
   sudo chmod u=rwx,g=rx,o=rx ~
   ```

1. Notieren Sie den Pfad zu dem Verzeichnis auf dem laufenden Container, der die Binärdatei Node.js enthält, weil Sie ihn für [Schritt 4: Erstellen der Umgebung](#sample-docker-env) benötigen. Wenn Sie sich nicht sicher sind, was dieser Pfad ist, führen Sie den folgenden Befehl auf dem ausgeführten Container aus, um ihn abzurufen.

   ```
   which node
   ```

## Schritt 4: Erstellen der Umgebung
<a name="sample-docker-env"></a>

In diesem Schritt erstellen Sie AWS Cloud9 eine AWS Cloud9 SSH-Entwicklungsumgebung und verbinden sie mit dem laufenden Docker-Container. Nachdem die Umgebung AWS Cloud9 erstellt wurde, wird die AWS Cloud9 IDE angezeigt, sodass Sie mit der Arbeit mit den Dateien und dem Code im Container beginnen können.

Sie erstellen mit der AWS Cloud9 Konsole eine AWS Cloud9 SSH-Entwicklungsumgebung. Sie können keine SSH-Umgebung mit der CLI erstellen.

### Voraussetzungen
<a name="prerequisites"></a>
+ Stellen Sie sicher, dass Sie die in [Einrichten AWS Cloud9](setting-up.md) beschriebenen Schritte zuerst ausführen. Sie können sich so bei der AWS Cloud9 -Konsole anmelden und Umgebungen erstellen.
+ Identifizieren Sie eine vorhandene Cloud-Recheninstanz (z. B. eine Amazon EC2 EC2-Instance in Ihrer AWS-Konto) oder Ihren eigenen Server, den Sie mit der Umgebung verbinden AWS Cloud9 möchten.
+ Stellen Sie sicher, dass die vorhandene Instance oder Ihr eigener Server alle [SSH-Host-Anforderungen](ssh-settings.md#ssh-settings-requirements) erfüllt. Dazu gehören, dass bestimmte Versionen von Python, Node.js und anderen Komponenten installiert sein müssen; das Festlegen spezifischer Berechtigungen für das Verzeichnis, in dem Sie AWS Cloud9 nach der Anmeldung starten möchten; und das Einrichten zugehöriger Amazon Virtual Private Clouds.

### Erstellen Sie die SSH-Umgebung
<a name="create-the-envsshtitle"></a>

1. Achten Sie darauf, dass die folgenden Voraussetzungen erfüllt sind.

1. Sofern noch keine Verbindung besteht, stellen Sie über einen SSH-Client eine Verbindung mit Ihrer vorhandenen Instance oder Ihrem eigenen Server her. Dadurch wird sichergestellt, dass Sie der Instance oder dem Server den erforderlichen öffentlichen SSH-Schlüsselwert hinzufügen können. Dies wird später in dieser Anleitung beschrieben.
**Anmerkung**  
Um eine Verbindung zu einer vorhandenen AWS Cloud Compute-Instance herzustellen, sehen Sie sich eine oder mehrere der folgenden Ressourcen an:  
Informationen zu Amazon EC2 finden Sie unter [Connect to Your Linux Instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect-to-linux-instance.html) im *Amazon EC2 EC2-Benutzerhandbuch*.
Informationen zu Amazon Lightsail finden Sie unter [Herstellen einer Verbindung mit Ihrer Linux-/Unix-basierten Lightsail-Instance](https://lightsail.aws.amazon.com/ls/docs/how-to/article/lightsail-how-to-connect-to-your-instance-virtual-private-server) in der *Amazon Lightsail-Dokumentation*.
Weitere Informationen finden Sie unter [Auflisten von Server-Instances und Herstellen einer Verbindung zu Server-Instances](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.ec2connect.html) im *AWS Elastic Beanstalk Entwicklerhandbuch*. AWS Elastic Beanstalk
Weitere Informationen finden Sie [unter SSH zur Anmeldung bei einer Linux-Instance](https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-ssh.html) verwenden im *AWS OpsWorks Benutzerhandbuch*. AWS OpsWorks
Weitere AWS-Services Informationen finden Sie in der Dokumentation für den jeweiligen Dienst.
Verwenden Sie SSH, um eine Verbindung mit Ihrem eigenen Server herzustellen. SSH ist bereits auf den Betriebssystemen macOS und Linux installiert. Wenn Sie über SSH unter Windows eine Verbindung mit Ihrem Server herstellen möchten, müssen Sie [PuTTY](https://www.putty.org/) installieren.

1. Melden Sie sich bei der AWS Cloud9 Konsole an, unter [https://console.aws.amazon.com/cloud9/](https://console.aws.amazon.com/cloud9/).

1. Nachdem Sie sich bei der AWS Cloud9 Konsole angemeldet haben, wählen Sie in der oberen Navigationsleiste eine aus AWS-Region , in der die Umgebung erstellt werden soll. Eine Liste der verfügbaren AWS-Regionen finden Sie [AWS Cloud9](https://docs.aws.amazon.com/general/latest/gr/rande.html#cloud9_region)in der *Allgemeine AWS-Referenz*.  
![\[Regionsauswahl in der Konsole AWS Cloud9\]](http://docs.aws.amazon.com/de_de/cloud9/latest/user-guide/images/consolas_region_new_UX.png)

1. Wenn Sie zum ersten Mal eine Entwicklungsumgebung erstellen, wird eine Willkommensseite angezeigt. Wählen Sie im Bereich **Neue AWS Cloud9 Umgebung** die Option **Umgebung erstellen** aus.

   Wenn Sie zuvor bereits Entwicklungsumgebungen erstellt haben, können Sie auch den Bereich auf der linken Seite des Bildschirms erweitern. Wählen Sie **Your environments** (Ihre Umebungen) und dann **Create environment (Umgebung erstellen)** aus.

   In der**Willkommen**-Seite:  
![\[Auswählen der Schaltfläche „Create environment“ (Umgebung erstellen), wenn die Willkommensseite angezeigt wird\]](http://docs.aws.amazon.com/de_de/cloud9/latest/user-guide/images/create_welcome_env_new_UX.png)

   Oder in der**Ihre Umgebungen**-Seite:  
![\[Auswählen der Schaltfläche „Create environment“ (Umgebung erstellen), wenn die Willkommensseite nicht angezeigt wird\]](http://docs.aws.amazon.com/de_de/cloud9/latest/user-guide/images/console_create_env_new_UX.png)

1. Geben Sie auf der Seite **Create environment** (Umgebung erstellen) einen Namen für Ihre Umgebung ein.

1. Geben Sie unter **Description (Beschreibung)** eine Beschreibung für Ihre Umgebung ein. Verwenden Sie für dieses Tutorial `This environment is for the AWS Cloud9 tutorial.`

1. Wählen Sie als **Environment type** (Umgebungstyp) **Existing Compute** (Bestehendes Computing) aus den folgenden Optionen aus:
   + **Neue EC2-Instance** — Startet eine Amazon EC2 EC2-Instance, mit der eine direkte Verbindung über SSH hergestellt werden AWS Cloud9 kann.
   + **Bestehende Rechenleistung** — Startet eine Amazon EC2 EC2-Instance, für die keine offenen eingehenden Ports erforderlich sind. AWS Cloud9 stellt eine Verbindung zur Instance her über. [AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager.html)
     + Wenn Sie die Option **Existing compute** (Bestehendes Computing) auswählen, werden eine Servicerolle und ein IAM-Instance-Profil erstellt, damit Systems Manager in Ihrem Namen mit der EC2-Instance interagieren kann. Sie können die Namen der beiden im Abschnitt **Service role and instance profile for Systems Manager access (Dienstrolle und Instance-Profil für den Zugriff auf den Systemmanager)** weiter unten auf der Oberfläche einsehen. Weitere Informationen finden Sie unter [Zugreifen auf EC2-Instances ohne Zutritt mit AWS Systems Manager](ec2-ssm.md). 
**Warnung**  
Wenn Sie eine EC2-Instance für Ihre Umgebung erstellen, können Ihnen möglicherweise Gebühren AWS-Konto für Amazon EC2 entstehen. Für die Nutzung von Systems Manager zur Verwaltung von Verbindungen mit Ihrer EC2-Instance fallen keine zusätzlichen Kosten an.
**Warnung**  
AWS Cloud9 verwendet den öffentlichen SSH-Schlüssel, um eine sichere Verbindung zu Ihrem Server herzustellen. Um die sichere Verbindung herzustellen, fügen Sie Ihrer `~/.ssh/authorized_keys`-Datei unseren öffentlichen Schlüssel hinzu und geben Sie Ihre Anmeldeinformationen in den folgenden Schritten an. Wählen Sie **Copy key to clipboard** (Schlüssel in die Zwischenablage kopieren) aus, um den SSH-Schlüssel zu kopieren, oder **View public SSH key** (Öffentlichen SSH-Schlüssel anzeigen), um ihn anzuzeigen.

1. Geben Sie im Bereich **Existing Compute** (Bestehendes Computing) für **User** (Benutzer) den Anmeldenamen ein, den Sie zuvor in diesem Verfahren für die Verbindung mit der Instance oder dem Server verwendet haben. Für eine AWS Cloud -Computing-Instance könnte dies z. B. `ec2-user`, `ubuntu` oder `root` sein. 
**Anmerkung**  
Es wird empfohlen, dass der Anmeldename Administratorberechtigungen erhält oder einem Administratorbenutzer der Instance oder des Servers zugeordnet ist. Insbesondere wird empfohlen, dass dieser Anmeldename Besitzer der Node.js-Installation auf der Instance oder dem Server ist. Dies können Sie prüfen, indem Sie auf dem Terminal Ihrer Instance oder Ihres Servers den Befehl **`ls -l $(which node)`** (oder **`ls -l $(nvm which node)`**, falls Sie `nvm` verwenden) ausführen. Dieser Befehl zeigt den Namen des Besitzers der Node.js-Installation an. Außerdem zeigt er die Berechtigungen, dem Gruppennamen und den Speicherort der Installation an.

1. Geben Sie in das Feld **Host** die öffentliche IP-Adresse (bevorzugt) oder den Hostnamen der Instance oder des Servers ein.

1. Geben Sie **unter Port** den Port ein, über den Sie AWS Cloud9 versuchen möchten, eine Verbindung mit der Instanz oder dem Server herzustellen. Sie können auch den Standardport beibehalten.

1. Wählen Sie **Additional details - optional** (Zusätzliche Details – optional) aus, um den Umgebungspfad, den Pfad zur Binärdatei node.js und die SSH-Sprunghost-Informationen anzuzeigen.

1. Geben Sie unter **Umgebungspfad** den Pfad zu dem Verzeichnis auf der Instanz oder dem Server ein, von dem aus Sie beginnen AWS Cloud9 möchten. Sie haben dies bereits in den Voraussetzungen für dieses Verfahren identifiziert. Wenn Sie dieses Feld leer lassen, verwendet AWS Cloud9 das Verzeichnis, mit dem die Instance oder der Server normalerweise nach der Anmeldung startet. Dies ist normalerweise ein Stamm- oder Standardverzeichnis.

1. Geben Sie unter **Path to Node.js binary path** (Pfad zur Binäredatei Node.js) die Pfadinformationen ein, um den Pfad zur Binärdatei node.js auf der Instance oder dem Server anzugeben. Um den Pfad abzurufen, können Sie den Befehl **`which node`** (oder ** `nvm which node` **, wenn Sie `nvm` verwenden) auf der Instance oder dem Server ausführen. Der Pfad kann beispielsweise `/usr/bin/node` sein. Wenn Sie dieses Feld leer lassen, versucht AWS Cloud9 zu erraten, wo sich die Node.js-Binärdatei befindet, wenn sie versucht, eine Verbindung herzustellen.

1. Geben Sie für **SSH jump host** (SSH-Sprunghost) Informationen über den Sprunghost ein, den die Instance oder der Server verwendet. Verwenden Sie das Format `USER_NAME@HOSTNAME:PORT_NUMBER` (z. B. `ec2-user@:ip-192-0-2-0:22`).

   Der Sprunghost muss die folgenden Anforderungen erfüllen:
   + Er muss über das öffentliche Internet mit SSH erreichbar sein.
   + Es muss eingehenden Zugriff von beliebigen IP-Adressen über den angegebenen Port zulassen.
   + Die öffentlichen SSH-Schlüsselwert, der in die Datei `~/.ssh/authorized_keys` auf der vorhandenen Instance oder dem Server kopiert wurde, muss auch in die Datei `~/.ssh/authorized_keys` auf dem Jump-Host kopiert werden.
   + Netcat muss installiert sein.

1. Fügen Sie bis zu 50 Tags hinzu, indem Sie für jeden Tag einen **Key (Schlüssel)** und einen **Value (Wert)** angeben. Wählen Sie dazu **Add new tag** (Neues Tag hinzufügen) aus. Die Tags werden als Ressourcen-Tags an die AWS Cloud9 Umgebung angehängt und an die folgenden zugrunde liegenden Ressourcen weitergegeben: den CloudFormation Stack, die Amazon EC2-Instance und Amazon EC2-Sicherheitsgruppen. Weitere Informationen zu Tags finden Sie unter [Zugriffskontrolle mithilfe von AWS Ressourcen-Tags](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html) im *[IAM-Benutzerhandbuch](https://docs.aws.amazon.com/IAM/latest/UserGuide/)* und in den [erweiterten Informationen](tags.md) zu Tags in diesem Handbuch.
**Warnung**  
Wenn Sie diese Tags nach ihrer Erstellung aktualisieren, werden die Änderungen nicht automatisch an die zugrunde liegenden Ressourcen weitergegeben. Näheres finden Sie [Weitergeben von Tag-Aktualisierungen an zugrunde liegende Ressourcen](tags.md#tags-propagate) in den ausführlicheren Informationen über [Tags](tags.md).

1. Wählen Sie **Create** (Erstellen) aus, um Ihre Umgebung zu erstellen. Sie werden dann zur Startseite weitergeleitet. Wenn das Konto erfolgreich erstellt wurde, erscheint oben in der AWS Cloud9 Konsole eine grüne Flash-Leiste. Sie können die neue Umgebung und **Open in Cloud9** (In Cloud9 öffnen) auswählen, um die IDE zu starten.   
![\[AWS Cloud9 IDE-Selektor in der Konsole AWS Cloud9\]](http://docs.aws.amazon.com/de_de/cloud9/latest/user-guide/images/cloud9-ide-open.png)

   Wenn das Konto nicht erstellt werden konnte, erscheint oben in der AWS Cloud9 -Konsole eine rote Flashleiste. Ihr Konto kann möglicherweise aufgrund eines Problems mit Ihrem Webbrowser, Ihren AWS Zugriffsberechtigungen, der Instanz oder dem zugehörigen Netzwerk nicht erstellt werden. Informationen zu möglichen Lösungen für Probleme, die die Erstellung des Kontos verhindern könnten, finden Sie im Abschnitt [AWS Cloud9 -Fehlerbehebung](troubleshooting.md#troubleshooting-env-loading).

**Anmerkung**  
Wenn Ihre Umgebung einen Proxy für den Zugriff auf das Internet verwendet, müssen Sie Proxydetails angeben, AWS Cloud9 damit Abhängigkeiten installiert werden können. Weitere Informationen finden Sie unter [Abhängigkeiten konnten nicht installiert werden](troubleshooting.md#proxy-failed-dependencies).

## Schritt 5: Ausführen des Codes
<a name="sample-docker-code"></a>

In diesem Schritt verwenden Sie die AWS Cloud9 IDE, um eine Beispielanwendung im laufenden Docker-Container auszuführen.

1. Starten Sie den Beispiel-Chat-Server, während die AWS Cloud9 IDE für den laufenden Container angezeigt wird. Dazu klicken Sie im Fenster **Environment (Umgebung)** mit der rechten Maustaste auf die Beispieldatei `workspace/server.js` und wählen dann **Run (Ausführen)**.

1. Zeigen Sie die Vorschau für die Beispielanwendung an. Dazu öffnen Sie im Fenster **Environment (Umgebung)** die Datei `workspace/client/index.html`. Wählen Sie dann auf der Menüleiste **Tools, Preview, Preview Running Application (Extras, Vorschau, Vorschau auf die ausgeführte Anwendung)**.

1. Geben Sie auf der Registerkarte für die Anwendungsvorschau für **Your Name (Ihr Name)** Ihren Namen ein. Geben Sie die Nachricht unter **Message (Meldung)** ein. Wählen Sie **Send (Senden)**. Der Chat-Server fügt Ihren Namen und Ihre Nachricht der Liste hinzu.

## Schritt 6: Bereinigen
<a name="sample-docker-clean-up"></a>

In diesem Schritt löschen Sie die Umgebung AWS Cloud9 und entfernen die Docker-Supportdateien aus der Amazon EC2 EC2-Instance. Um zu verhindern, dass Ihr AWS Konto weiterhin belastet wird, nachdem Sie dieses Beispiel nicht mehr verwendet haben, sollten Sie außerdem die Amazon EC2 EC2-Instance beenden, auf der Docker ausgeführt wird.

### Schritt 6.1: Löschen der Umgebung
<a name="step-6-1-delete-the-envtitle"></a>

Informationen zum Löschen der Umgebung finden Sie unter [Löschen einer Umgebung in AWS Cloud9](delete-environment.md).

### Schritt 6.2: Entfernen Sie die AWS Cloud9 Supportdateien aus dem Container
<a name="step-6-2-remove-ac9-support-files-from-the-container"></a>

Nachdem Sie die Umgebung gelöscht haben, verbleiben einige AWS Cloud9 Unterstützungsdateien immer noch im Container. Wenn Sie den Container weiterhin verwenden möchten, diese Unterstützungsdateien aber nicht mehr benötigen, löschen Sie den `.c9` Ordner aus dem Verzeichnis auf dem Container, von dem Sie angegeben haben, dass er nach der Anmeldung beginnen AWS Cloud9 soll. Ist das Verzeichnis beispielsweise `~`, führen Sie den Befehl ** `rm` ** mit der Option ** `-r` ** wie folgt aus.

```
sudo rm -r ~/.c9
```

### Schritt 6.3: Entfernen der Docker-Supportdateien aus der Instance
<a name="step-6-3-remove-docker-support-files-from-the-instance"></a>

Wenn Sie den Docker-Container, das Docker-Image und Docker auf der Amazon EC2-Instance nicht behalten wollen, sehr wohl aber die Instance, können Sie diese Docker-Supportdateien wie folgt entfernen.

1. Entfernen des Docker-Containers von der Instance. Dazu führen Sie den Befehl ** `docker` ** auf der Instance mit den Stopp-Aktionen ** `stop` ** und ** `rm` ** und dem vom Menschen lesbaren Namen des Containers aus.

   ```
   sudo docker stop cloud9
   sudo docker rm cloud9
   ```

1. Entfernen Sie das Docker-Image von der Instance. Dazu führen Sie den Befehl ** `docker` ** auf der Instance mit der Aktion ** `image rm` ** und dem Tag des Image aus.

   ```
   sudo docker image rm cloud9-image:latest
   ```

1. Entfernen Sie alle weiteren Docker-Supportdateien, die möglicherweise noch vorhanden sind. Dazu führen Sie den Befehl ** `docker` ** auf der Instance mit der Aktion ** `system prune` ** aus.

   ```
   sudo docker system prune -a
   ```

1. Deinstallieren Sie Docker. Dazu führen Sie den Befehl ** `yum` ** auf der Instance mit der Aktion ** `remove` ** aus und geben das zu deinstallierende Paket ** `docker` ** an.

   Für Amazon Linux:

   ```
   sudo yum -y remove docker
   ```

   Für Ubuntu Server:

   ```
   sudo apt -y remove docker
   ```

   Sie können auch die zuvor erstellten `Dockerfile`- und `authorized_keys`-Dateien entfernen. Führen Sie zum Beispiel den Befehl ** `rm` ** auf der Instance aus.

   ```
   sudo rm /tmp/Dockerfile
   sudo rm /tmp/authorized_keys
   ```

### Schritt 6.4: Beenden der Instance
<a name="step-6-4-terminate-the-instance"></a>

Informationen zum Beenden der Amazon EC2 EC2-Instance finden Sie unter [Terminate Your Instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html) im *Amazon EC2 EC2-Benutzerhandbuch*.