

 AWS Cloud9 不再提供給新客戶。 AWS Cloud9 的現有客戶可以繼續正常使用該服務。[進一步了解](https://aws.amazon.com/blogs/devops/how-to-migrate-from-aws-cloud9-to-aws-ide-toolkits-or-aws-cloudshell/)

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 的 Docker 教學課程 AWS Cloud9
<a name="sample-docker"></a>

本教學課程說明如何將 AWS Cloud9 SSH 開發環境連接至 Amazon EC2 中 Amazon Linux 執行個體內執行中的 Docker 容器。這可讓您使用 AWS Cloud9 IDE 來處理 Docker 容器內的程式碼和檔案，並在該容器上執行命令。如需有關 Docker 的詳細資訊，請參閱 Docker 網站上的[什麼是 Docker](https://www.docker.com/what-docker)。

遵循本教學課程並建立此範例可能會導致 AWS 您的帳戶產生費用。包括 Amazon EC2 等服務的可能花費。如需詳細資訊，請參閱 [Amazon EC2 定價](https://aws.amazon.com/ec2/pricing/)。

**Topics**
+ [先決條件](#sample-docker-prereqs)
+ [步驟 1：安裝和執行 Docker](#sample-docker-install)
+ [步驟 2：建置影像](#sample-docker-build)
+ [步驟 3：執行容器](#sample-docker-run)
+ [步驟 4：建立環境](#sample-docker-env)
+ [步驟 5：執行程式碼](#sample-docker-code)
+ [步驟 6：清除](#sample-docker-clean-up)

## 先決條件
<a name="sample-docker-prereqs"></a>
+  **您應該已有執行 Amazon Linux 或 Ubuntu Server 的 Amazon EC2 執行個體。**此範例假設您的帳戶中已有執行 Amazon Linux 或 Ubuntu Server 的 Amazon EC2 執行個體 AWS 。若要啟動 Amazon EC2 執行個體，請參閱[啟動 Linux 虛擬機器](https://aws.amazon.com/getting-started/tutorials/launch-a-virtual-machine/)。在該精靈的 **Choose an Amazon Machine Image (AMI)** (選擇 Amazon Machine Image (AMI)) 頁面中，選擇顯示名稱開頭為 **Amazon Linux AMI** 或 **Ubuntu Server** 的 AMI。
+  **如果 Amazon EC2 執行個體在 Amazon VPC 中執行，尚需符合其他需求。**請參閱 [AWS Cloud9 開發環境的 VPC 設定](vpc-settings.md)。
+  **Amazon EC2 執行個體都應該至少有 8 到 16 GB 可用的磁碟空間。**此範例使用大小超過 3 GB 的 Docker 映像和可以使用 3 GB 或更多磁碟空間的額外增量來建置映像。如果您在可用空間為 8 GB 或更少的磁碟上嘗試執行此範例，我們發現 Docker 映像可能不會建置或者 Docker 容器可能不會執行。若要確認執行個體的可用磁碟空間，您可以在執行個體上執行 ** `df -h` ** 之類的命令 (適用於以人類可讀取格式的磁碟檔案系統資訊)。若要增加現有執行個體的磁碟大小，請參閱《*Amazon EC2 使用者指南*》中的[修改磁碟區](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-modify-volume.html)。

## 步驟 1：安裝和執行 Docker
<a name="sample-docker-install"></a>

在此步驟中，您會檢查 Docker 是否已安裝在 Amazon EC2 執行個體，若否則進行安裝。在安裝 Docker 後，您會在執行個體上執行它。

1. 使用 SSH 用戶端 (例如 **`ssh`** 公用程式或 PuTTY) 來連接至執行中的 Amazon EC2 執行個體。若要這樣做，請參閱[啟動 Linux 虛擬機器](https://aws.amazon.com/getting-started/tutorials/launch-a-virtual-machine/)中的「步驟 3：連接到執行個體」。

1. 檢查在執行個體上是否已安裝 Docker。若要這樣做，請在執行個體上執行 ** `docker` ** 命令並使用 ** `--version` **選項。

   ```
   docker --version
   ```

   如果 Docker 已安裝，即會顯示 Docker 版本和建置號碼。在這種情況下，請直接跳到此程序中稍後的步驟 5。

1. 安裝 Docker. 若要這樣做，請以 ** `install` ** 動作執行 ** `yum` ** 或 ** `apt` ** 命令，並指定要安裝的 ** `docker` ** 或 ** `docker.io` ** 套件。

   針對 Amazon Linux：

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

   針對 Ubuntu Server：

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

1. 確認 Docker 已安裝。若要進行這項動作，請重新執行 ** `docker --version` ** 指令。即會顯示 Docker 版本和建置號碼。

1. 執行 Docker。若要這樣做，請使用 ** `docker` ** 服務和 ** `start` ** 動作執行 ** `service` ** 命令。

   ```
   sudo service docker start
   ```

1. 確認 Docker 正在執行中。若要這樣做，請執行 ** `docker` ** 命令與 ** `info` **動作。

   ```
   sudo docker info
   ```

   如果 Docker 正在執行中，即會顯示 Docker 的相關訊息。

## 步驟 2：建置影像
<a name="sample-docker-build"></a>

在此步驟中，您使用 Dockerfile 建置 Docker 影像到該執行個體。這個範例使用映像，其中包含 Node.js 和範例聊天伺服器應用程式。

1. 在執行個體上建立 Dockerfile。若要這樣做，在 SSH 用戶端仍然連接到執行個體的情況下，在執行個體上的 `/tmp` 目錄中，建立一個名為 `Dockerfile` 的檔案。例如，執行 ** `touch` ** 命令，如下所示。

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

1. 將下列內容新增至 `Dockerfile` 檔案：

   ```
   # 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
   ```

   若要將上述內容新增至 `Dockerfile` 檔案，您可以使用執行個體上的 ** `vi` ** 公用程式，如下所示。

   1. 使用 AWS Cloud9 開啟和編輯`/tmp/Dockerfile`檔案。

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

   1. 將上述內容貼到 `Dockerfile` 檔案。如果您不確定如何執行此作業，請參閱 SSH 用戶端文件。

   1. 切換至命令模式。若要執行此操作，請按 `Esc` 鍵 (`-- INSERT --` 從視窗底部消失)。

   1. 輸入 `:wq` (寫入 `/tmp/Dockerfile` 檔案、儲存檔案，然後結束 ** `vi` **)，然後按下 `Enter`。
**注意**  
您可以從 存取經常更新的 Docker 映像清單 AWS CodeBuild。如需詳細資訊，請參閱 *AWS CodeBuild 使用者指南*中的 [CodeBuild 提供的 Docker 影像](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-available.html)。

1. 在執行個體上，建立檔案，其中包含 Docker 容器要使用的 AWS Cloud9 SSH 公有金鑰。若要這樣做，舉例來說，可以透過執行 `Dockerfile` `authorized_keys` ** 命令，在與 `touch` 檔案所在的相同目錄中，建立名為 ** 的檔案。

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

1. 將 AWS Cloud9 SSH 公有金鑰新增至 `authorized_keys` 檔案。若要取得 AWS Cloud9 SSH 公有金鑰，請執行下列動作：

   1. 在 https：//[https://console.aws.amazon.com/cloud9/](https://console.aws.amazon.com/cloud9/) 開啟 AWS Cloud9 主控台。

   1. 在 AWS 導覽列的區域 AWS 選擇器中，選擇您要在此主題稍後建立 AWS Cloud9 開發環境 AWS 的區域。

   1. 如果顯示歡迎頁面，請在**新 AWS Cloud9 環境中**選擇**建立環境**。否則，請選擇 **Create environment** (建立環境)。

   1. 在 **Name environment** (為環境命名) 頁面的 **Name** (名稱) 內，輸入環境的名稱。(此處的名稱並不重要。您稍後還會選擇不同的名稱。)

   1. 選擇 **下一個步驟**。

   1. 對於 **Environment type (環境類型)**，選擇 **Connect and run in remote server (SSH) (連線並在遠端伺服器中執行 (SSH))**。

   1. 展開 **View public SSH key (查看公有 SSH 金鑰)**。

   1. 選擇 **Copy key to clipboard (複製金鑰至剪貼簿)**。(這是介於 **View public SSH key (查看公有 SSH 金鑰)** 和 **Advanced settings (進階設定)** 之間。)

   1. 選擇**取消**。

   1. 將剪貼簿的內容貼到 `authorized_keys` 檔案，然後儲存檔案。例如，您可以使用 ** `vi` ** 公用程式，如此步驟稍早所述。

1. 以 ** `build` ** 動作執行 ** `docker` ** 命令，並將標籤 `cloud9-image:latest` 新增到影像，並指定要使用的 `Dockerfile` 檔案路徑，藉此建置影像。

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

   如果成功，建置輸出的最後兩行會顯示 `Successfully built` 和 `Successfully tagged`。

   若要確認 Docker 是否順利建置映像，執行 ** `docker` ** 命令並搭配 `image ls` 動作。

   ```
   sudo docker image ls
   ```

   若成功，輸出會顯示一個項目，其中 `REPOSITORY` 欄位設為 `cloud9-image` 且 `TAG` 欄位設為 `latest`。

1. 請記下 Amazon EC2 執行個體的公有 IP 地址。您在[步驟 4：建立環境](#sample-docker-env)時會需要此資訊。如果您不確定執行個體的公有 IP 地址為何，您可以對該執行個體執行以下命令，來取得此資訊。

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

## 步驟 3：執行容器
<a name="sample-docker-run"></a>

在此步驟中，您在執行個體上執行 Docker 容器。此容器是根據您在之前步驟所建的映像。

1. 若要執行 Docker 容器，在執行個體上執行的 ** `docker` ** 命令搭配 ** `run` ** 動作和以下選項。

   ```
   sudo docker run -d -it --expose 9090 -p 0.0.0.0:9090:22 --name cloud9 cloud9-image:latest
   ```
   +  `-d` 會在分離模式中執行容器，會在用來執行容器 (在這個範例中，也就是 SSH 用戶端) 的根程序結束時便跟著結束。
   +  `-it` 會使用分配的 pseudo-TTY 來執行容器，並讓 STDIN 保持開放 (如果未連接容器)。
   +  `--expose` 讓使用者能夠從容器使用指定的連接埠 (在這個範例中，連接埠 `9090`)。
   +  `-p` 讓使用者能夠透過指定的 IP 地址和連接埠來讓指定連接埠可在內部供 Amazon EC2 執行個體使用。在這個範例中，容器上的連接埠 `9090` 可透過 Amazon EC2 執行個體上的連接埠 `22` 來進行內部存取。
   +  `--name` 是容器之可供人類讀取的名稱 (在此範例中，`cloud9`)。
   +  `cloud9-image:latest` 要用來執行容器的建置映像之可供人類讀取的名稱。

   若要確認 Docker 是否順利執行容器，執行 ** `docker` ** 命令並搭配 `container ls` 動作。

   ```
   sudo docker container ls
   ```

   若成功，輸出會顯示一個項目，其中 `IMAGE` 欄位設為 `cloud9-image:latest` 且 `NAMES` 欄位設為 `cloud9`。

1. 登入執行中容器。若要這樣做，請執行 ** `docker` ** 命令並使用 ** `exec` ** 動作和下列選項。

   ```
   sudo docker exec -it cloud9 bash
   ```
   +  `-it` 會使用分配的 pseudo-TTY 來執行容器，並讓 STDIN 保持開放 (如果未連接容器)。
   +  `cloud9` 是執行中容器之可供人類讀取的名稱。
   +  `bash` 在執行中容器中開始標準 shell。

   如果成功，終端提示變更會顯示容器的登入使用者名稱和容器 ID。
**注意**  
如果您想要登出執行中的容器，執行 ** `exit` ** 命令。終端提示會變回會顯示執行個體的登入使用者名稱和執行個體的私有 DNS。容器仍應執行中。

1. 對於您要在登入後從中 AWS Cloud9 啟動的容器上的目錄，將其存取許可設定為 ** `rwxr-xr-x` **。這表示為擁有者設定讀取-寫入-執行許可、為群組設定讀取-執行許可，並為其他人設定讀取-執行許可。例如，如果目錄的路徑是 `~`，您可以在執行中容器中執行 **`chmod`** 命令，以在目錄上設定這些許可，如下所示。

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

1. 請記下在包含 Node.js 二進位執行容器上的目錄路徑，因為您在[步驟 4：建立環境](#sample-docker-env)時會需要此資訊。如果您不確定此路徑為何，對執行中容器執行以下命令來取得此資訊。

   ```
   which node
   ```

## 步驟 4：建立環境
<a name="sample-docker-env"></a>

在此步驟中，您會使用 AWS Cloud9 建立 AWS Cloud9 SSH 開發環境，並將其連接至執行中的 Docker 容器。在 AWS Cloud9 建立環境後，它會顯示 AWS Cloud9 IDE，讓您可以開始使用容器中的檔案和程式碼。

您可以使用 AWS Cloud9 主控台建立 AWS Cloud9 SSH 開發環境。您不能使用 CLI 建立 SSH 環境。

### 先決條件
<a name="prerequisites"></a>
+ 先確定您已完成 [設定 AWS Cloud9](setting-up.md) 中的步驟。您就能登入 AWS Cloud9 主控台並建立環境。
+ 識別您要 AWS Cloud9 連線至環境的現有雲端運算執行個體 （例如，您 中的 Amazon EC2 執行個體 AWS 帳戶) 或您自己的伺服器。
+ 確保現有的執行個體或您自己的伺服器符合所有 [SSH 主機要求](ssh-settings.md#ssh-settings-requirements)。這些條件包括擁有 Python、Node.js 和其他已安裝元件的特定版本；在您想要 AWS Cloud9 於登入之後從中啟動的目錄上設定特定許可；以及設定任何相關聯的 Amazon Virtual Private Cloud。

### 建立 SSH 環境
<a name="create-the-envsshtitle"></a>

1. 請確認您已完成前述必要條件。

1. 如果您尚未連線，請使用 SSH 用戶端連線到您的現有執行個體或自己的伺服器。這能確保您可以將必要的公有 SSH 金鑰值新增至執行個體或伺服器。此程序稍後會再進一步說明。
**注意**  
若要連線至現有的 AWS 雲端 運算執行個體，請參閱下列一或多個資源：  
對於 Amazon EC2，請參閱《*Amazon EC2 使用者指南*》中的[連線至您的 Linux 執行個體](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect-to-linux-instance.html)。
對於 Amazon Lightsail，請參閱 *Amazon Lightsail 文件*中的[連線至 Linux/Unix 型Lightsail執行個體](https://lightsail.aws.amazon.com/ls/docs/how-to/article/lightsail-how-to-connect-to-your-instance-virtual-private-server)。
如需 AWS Elastic Beanstalk，請參閱《 *AWS Elastic Beanstalk 開發人員指南*》中的[列出和連線至伺服器執行個體](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.ec2connect.html)。
如需 AWS OpsWorks，請參閱*AWS OpsWorks 《 使用者指南*》中的[使用 SSH 登入 Linux 執行個體](https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-ssh.html)。
如需其他 AWS 服務，請參閱該特定服務的文件。
若要連線到您自己的伺服器，請使用 SSH。SSH 已安裝在 macOS 和 Linux 作業系統。若要在 Windows 上使用 SSH 連接伺服器，您必須安裝 [PuTTY](https://www.putty.org/)。

1. 登入 AWS Cloud9 主控台，網址為 https：//[https://console.aws.amazon.com/cloud9/](https://console.aws.amazon.com/cloud9/)。

1. 登入 AWS Cloud9 主控台後，在頂端導覽列中選擇要在其中 AWS 區域 建立環境的 。如需可用的清單 AWS 區域，請參閱 [AWS Cloud9](https://docs.aws.amazon.com/general/latest/gr/rande.html#cloud9_region) 中的 *AWS 一般參考*。  
![\[AWS Cloud9 主控台中的區域選擇器\]](http://docs.aws.amazon.com/zh_tw/cloud9/latest/user-guide/images/consolas_region_new_UX.png)

1. 如果這是您第一次建立開發環境，畫面會顯示歡迎頁面。在**新增 AWS Cloud9 環境**面板中，選擇**建立環境**。

   如果您先前已建立開發環境，也可以展開畫面左側的窗格。選擇 **Your environments** (您的環境)，然後選擇 **Create environment** (建立環境)。

   在 **welcome** (歡迎) 頁面中：  
![\[如顯示歡迎頁面，請選擇建立環境按鈕\]](http://docs.aws.amazon.com/zh_tw/cloud9/latest/user-guide/images/create_welcome_env_new_UX.png)

   或者在 **Your environments** (您的環境) 頁面中：  
![\[如未顯示歡迎頁面，請選擇建立環境按鈕\]](http://docs.aws.amazon.com/zh_tw/cloud9/latest/user-guide/images/console_create_env_new_UX.png)

1. 在 **Create environment** (建立環境) 頁面上，輸入環境的名稱。

1. 在 **Description** (描述) 中，輸入環境的相關資訊。在本教學中，使用 `This environment is for the AWS Cloud9 tutorial.`

1. 針對 **Environment type** (環境類型)，請從下列選項中選擇 **Existing Compute** (現有運算)：
   + **新的 EC2 執行個體** – 啟動 AWS Cloud9 可透過 SSH 直接連線至 的 Amazon EC2 執行個體。
   + ** 現有運算 ** – 啟動不需要任何開放傳入連接埠的 Amazon EC2 執行個體。透過 AWS Cloud9 連線至執行個體[AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager.html)。
     + 如果您選取 **Existing compute** (現有運算) 選項，系統會建立服務角色和 IAM 執行個體描述檔，以允許 Systems Manager 代表您與 EC2 執行個體互動。您可以在界面中繼續往下拉到 **Service role and instance profile for Systems Manager access** (Systems Manager 存取的服務角色和執行個體描述檔) 區塊檢視兩者的名稱。如需詳細資訊，請參閱[使用 存取無輸入 EC2 執行個體 AWS Systems Manager](ec2-ssm.md)。
**警告**  
為您的環境建立 EC2 執行個體可能會對您的 AWS 帳戶 Amazon EC2 產生費用。使用 Systems Manager 管理 EC2 執行個體的連線不需要額外費用。
**警告**  
AWS Cloud9 使用 SSH 公有金鑰安全地連線至您的伺服器。若要建立安全連線，請將公有金鑰新增到您的 `~/.ssh/authorized_keys` 檔案中，並提供以下步驟中的登入憑證。選擇 **Copy key to clipboard** (複製金鑰至剪貼簿) 以複製 SSH 金鑰，或選擇 **View public SSH key** (檢視公有 SSH 金鑰) 來顯示。

1. 在 **Existing compute** (現有運算) 面板上，針對 **User** (使用者)，輸入您稍早在此程序中，用來連線至執行個體或伺服器的登入名稱。例如，針對 AWS 雲端 運算執行個體，它可能是 `ec2-user`、`ubuntu` 或 `root`。
**注意**  
建議將登入名稱與執行個體或伺服器上的管理許可或管理員使用者建立關聯。尤其，建議這個登入名稱擁有執行個體或伺服器上的 Node.js 安裝。若要加以確認，請從執行個體或伺服器的終端機中執行命令 **`ls -l $(which node)`** (如果您使用 `nvm`，也可以執行 **`ls -l $(nvm which node)`**)。此命令會顯示 Node.js 安裝的擁有者名稱。同時也會顯示安裝的許可、群組名稱和位置。

1. 針對 **Host** (主機)，輸入執行個體或伺服器的公有 IP 地址 (偏好) 或主機名稱。

1. 在**連接埠**中，輸入 AWS Cloud9 您要用來嘗試連線至執行個體或伺服器的連接埠。或者，也可以保留預設連接埠。

1. 選擇 **Additional details - optional** (其他詳細資訊 - 選用)，顯示環境路徑、node.js 二進位檔路徑和 SSH 跳接主機資訊。

1. 針對**環境路徑**，輸入 AWS Cloud9 您要從中啟動的執行個體或伺服器上目錄的路徑。您會在此程序稍早的先決條件中指定此路徑。如果您將此空白，則 AWS Cloud9 會在登入之後使用您的執行個體或伺服器一般用來啟動的目錄。這通常是家用或預設目錄。

1. 針對 **Path to Node.js binary path** (node.js 二進位檔路徑)，請輸入路徑資訊，以指定執行個體或伺服器上的 Node.js 二進位檔路徑。若要取得路徑，您可以在執行個體或伺服器上執行命令 **`which node`** (如果您使用 `nvm`，也可以執行 **`nvm which node`**)。例如，路徑可能是 `/usr/bin/node`。如果您保留空白，則 AWS Cloud9 會在嘗試連線 Node.js 二進位檔時嘗試猜測其所在的位置。

1. 針對 **SSH jump host** (SSH 跳接主機)，請輸入執行個體或伺服器使用的跳接主機相關資訊。使用格式 `USER_NAME@HOSTNAME:PORT_NUMBER` (例如 `ec2-user@:ip-192-0-2-0:22`)。

   跳接主機必須符合下列要求：
   + 它必須可使用 SSH 透過公有網際網路存取。
   + 它必須允許使用任何 IP 地址透過指定的連接埠傳入存取。
   + 複製至現有執行個體或伺服器上 `~/.ssh/authorized_keys` 檔案的公有 SSH 金鑰值，也必須複製至跳接主機上的 `~/.ssh/authorized_keys` 檔案。
   + 必須安裝 Netcat。

1. 藉由為每個標籤提供一個**索引鍵**和一個**值**，最多新增 50 個標籤。選取 **Add new tag** (新增標籤) 來執行此操作。這些標籤會以資源標籤的形式連接至 AWS Cloud9 環境，並傳播至下列基礎資源： CloudFormation 堆疊、Amazon EC2 執行個體和 Amazon EC2 安全群組。若要進一步了解標籤，請參閱《*[IAM 使用者指南](https://docs.aws.amazon.com/IAM/latest/UserGuide/)*》中的[使用 AWS 資源標籤控制存取](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html)，以及本指南中標籤的[進階資訊](tags.md)。
**警告**  
如果您在建立這些標籤之後予以更新，這些變更不會傳播至基礎資源。如需詳細資訊，請參閱[標籤](tags.md)相關進階資訊中的 [將標籤更新傳播至基礎資源](tags.md#tags-propagate)。

1. 選擇 **Create** (建立) 以建立您的環境，然後系統會將您重新導向至首頁。成功建立帳戶時， AWS Cloud9 主控台頂端會出現綠色閃爍列。您可以選取新環境，然後選擇 **Open in Cloud9** (在 Cloud9 中開啟) 以啟動 IDE。  
![\[AWS Cloud9 AWS Cloud9 主控台中的 IDE 選擇器\]](http://docs.aws.amazon.com/zh_tw/cloud9/latest/user-guide/images/cloud9-ide-open.png)

   若無法建立帳戶， AWS Cloud9 主控台上方會出現紅色閃爍列。由於 Web 瀏覽器、 AWS 存取許可、執行個體或關聯的網路發生問題，您的帳戶可能無法建立 。您可以在 [AWS Cloud9 疑難排解區段](troubleshooting.md#troubleshooting-env-loading)找到可行修正方法，解決造成帳戶無法使用的問題。

**注意**  
如果您的環境使用代理存取網際網路，您必須提供代理的詳細資訊給 ， AWS Cloud9 以便安裝相依性。如需詳細資訊，請參閱[無法安裝相依性](troubleshooting.md#proxy-failed-dependencies)。

## 步驟 5：執行程式碼
<a name="sample-docker-code"></a>

在此步驟中，您可以使用 AWS Cloud9 IDE 在執行中的 Docker 容器內執行範例應用程式。

1. 為執行中的容器顯示 AWS Cloud9 IDE 後，啟動範例聊天伺服器。若要這麼做，在 **Environment (環境)** 視窗中，以滑鼠右鍵按一下範例 `workspace/server.js` 檔案，然後選擇 **Run (執行)**。

1. 預覽範例應用程式。若要執行此操作，請從 **Environment (環境)** 視窗開啟 `workspace/client/index.html` 檔案。然後，在功能表列中，選擇 **Tools, Preview, Preview Running Application (工具、預覽、預覽執行應用程式)**。

1. 在應用程式預覽索引標籤上，對於 **Your Name (您的姓名)**，輸入名稱。對於 **Message** (訊息)，請輸入訊息。然後選擇 **Send (傳送)**。聊天伺服器會將您的名稱和訊息新增至清單。

## 步驟 6：清除
<a name="sample-docker-clean-up"></a>

在此步驟中，您會刪除環境，並從 Amazon EC2 執行個體移除 AWS Cloud9 和 Docker 支援檔案。此外，為了避免在您完成使用此範例後持續向您的 AWS 帳戶收取費用，您應該終止執行 Docker 的 Amazon EC2 執行個體。

### 步驟 6.1：刪除環境
<a name="step-6-1-delete-the-envtitle"></a>

若要刪除環境，請參閱[在 中刪除環境 AWS Cloud9](delete-environment.md)。

### 步驟 6.2：從容器移除 AWS Cloud9 支援檔案
<a name="step-6-2-remove-ac9-support-files-from-the-container"></a>

刪除環境後，有些 AWS Cloud9 支援檔案仍會保留在容器中。如果您想要繼續使用容器，但不再需要這些支援檔案，請從您指定 AWS Cloud9 在登入後開始的容器上的目錄中刪除`.c9`資料夾。例如，如果目錄是 `~`，請以 ** `-r` ** 選項執行 ** `rm` ** 命令，如下所示。

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

### 步驟 6.3：從執行個體移除 Docker 支援檔案
<a name="step-6-3-remove-docker-support-files-from-the-instance"></a>

如果您希望不再保留 Docker 容器、Docker 影像和 Amazon EC2 執行個體上的 Docker，但您想要保留執行個體，您可以移除這些 Docker 支援檔案，如下所示。

1. 將 Docker 容器從執行個體中移除。若要這樣做，請以 ** `stop` ** 和 ** `rm` ** 在執行個體上執行 ** `docker` ** 命令，停止動作和容器的人類可識讀名稱。

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

1. 將 Docker 映像從執行個體中移除。若要這樣做，請在執行個體上執行 ** `docker` ** 命令並使用 ** `image rm` ** 動作和映像的標籤。

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

1. 移除任何可能仍然結束的額外 Docker 支援檔案。若要這樣做，請在執行個體上執行 ** `docker` ** 命令並使用 ** `system prune` **動作。

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

1. 取消安裝 Docker。若要這樣做，請以 ** `remove` ** 動作在執行個體上執行 ** `yum` ** 命令，並指定要取消安裝的 ** `docker` ** 套件。

   針對 Amazon Linux：

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

   針對 Ubuntu Server：

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

   您也可以移除您先前建立的 `Dockerfile` 和 `authorized_keys` 檔案。例如，在執行個體上執行 ** `rm` ** 命令。

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

### 步驟 6.4：終止執行個體
<a name="step-6-4-terminate-the-instance"></a>

若要終止 Amazon EC2 執行個體，請參閱《*Amazon EC2 使用者指南*》中的[終止執行個體](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html)。