
# 准备应用运行环境
在应用分析后，您已经了解到应用所需的操作系统、运行环境等。您需要准备好这些环境。
- 安装容器构建工具，您可在以下两项中选择一项安装：
  - [安装Docker]：应用容器化时，需要将应用构建为容器镜像。您需要准备一台机器，并安装Docker。
  
  - [安装nerdctl]：将应用构建为容器镜像。nerdctl工具适于containerd环境，您需要准备一台已经安装并运行containerd的机器并安装nerdctl。
   

- [获取运行环境]：获取运行应用的运行环境，以及对接的MongoDB数据库。
 #### 安装Docker
Docker几乎支持在所有操作系统上安装，用户可以根据需要选择要安装的Docker版本。
![](https://support.huaweicloud.com/bestpractice-cce/public_sys-resources/note_3.0-zh-cn.png)
容器镜像服务支持使用Docker 1.11.2及以上版本上传镜像。
安装Docker、构建镜像建议使用root用户进行操作，请提前获取待安装docker机器的root用户密码。
1. 以root用户登录待安装Docker的机器。
2. 以CentOS Linux操作系统为例，您可以使用如下命令快速安装最新版本的Docker，详细操作请参见[Docker-CE](https://mirrors.huaweicloud.com/mirrorDetail/5ea14d84b58d16ef329c5c13?mirrorName=docker-ce&catalog=docker)。
   
   1. 下载repo文件并替换软件仓库地址。 **wget --no-check-certificate -O /etc/yum.repos.d/docker-ce.repo https://mirrors.huaweicloud.com/docker-ce/linux/centos/docker-ce.repo**
      **sudo sed -i 's+download.docker.com+mirrors.huaweicloud.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo**
      
   
   2. 更新索引文件并安装。 **sudo yum makecache fast**
      **sudo yum install docker-ce**
      
   
   
   
   
3. 执行以下命令，查看Docker安装版本。 
   **docker version**
   ```
   Client:
   Version: 17.12.0-ce
   API Version:1.35
   ……
   ```
   Version字段表示版本号。
   
   
 
 #### 安装nerdctl
nerdctl是一个与docker cli风格兼容的containerd客户端工具。nerdctl工具需要在节点上已经安装并运行containerd。
1. 以root用户登录到安装有containerd的服务器上。
2. 以CentOS Linux操作系统为例，下载nerdctl安装包。 
   1. 下载nerdctl工具，以2.3.1版本为例。 **wget https://github.com/containerd/nerdctl/releases/download/v2.3.1/nerdctl-full-2.3.1-linux-amd64.tar.gz**
      
   
   2. 解压下载好的安装包并安装nerdctl工具。 **tar -zxf nerdctl-full-2.3.1-linux-amd64.tar.gz -C /usr/local**
      
   
   3. 启动并运行buildkitd，这是构建镜像的底层引擎。 **cp /usr/local/lib/systemd/system/buildkit.service /lib/systemd/system/**
      **systemctl enable buildkit --no** **w**
      
   
   
   
   
3. 执行以下命令查看nerdctl安装版本。 
   **nerdctl version**
   ```
   Client:  Version: v2.3.1  OS/Arch: linux/amd64 ……
   ```
   Version字段表示版本号。
   
   
 
 #### 获取运行环境
本例是tomcat类型的web应用，需要7.0版本的tomcat环境，tomcat需要1.8版本的jdk。并且应用对接MongoDB，均需要提前获取。
![](https://support.huaweicloud.com/bestpractice-cce/public_sys-resources/note_3.0-zh-cn.png)
此处请根据您应用的实际情况，下载应用所需的依赖环境。
1. 下载对应版本的Tomcat、JDK和MongoDB。 
   1. 下载JDK 1.8版本。 下载地址：<https://www.oracle.com/java/technologies/jdk8-downloads.html>。
      
   
   2. 下载Tomcat 7.0版本，链接为：<https://archive.apache.org/dist/tomcat/tomcat-7/v7.0.82/bin/apache-tomcat-7.0.82.tar.gz>。
   
   3. 下载MongoDB 3.2版本，链接为：<https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.2.9.tgz>。
   
   
   
   
2. 以root用户登录docker或nerdctl所在的机器。
3. 执行如下命令，新建用于存放该应用的目录。例如目录设为apptest。 
   **mkdir apptest**
   **cd apptest**
   
   
4. 使用xShell工具，将已下载的依赖文件存放到apptest目录下。
5. 解压缩依赖文件。 
   **tar -zxf apache-tomcat-7.0.82.tar.gz**
   **tar -zxf jdk-8u151-linux-x64.tar.gz**
   **tar -zxf mongodb-linux-x86_64-rhel70-3.2.9.tgz**
   
   
6. 将企业应用（例如应用为apptest.war）放置到tomcat的webapps/apptest目录下。 
   ![](https://support.huaweicloud.com/bestpractice-cce/public_sys-resources/note_3.0-zh-cn.png)
   本例中的apptest.war为举例，请以贵公司应用进行实际操作。
   **mkdir -p apache-tomcat-7.0.82/webapps/app**test****
   **cp apptest.war apache-tomcat-7.0.82/webapps/**app**test******
   **cd apache-tomcat-7.0.82/webapps/**app**test******
   **./../../../jdk1.8.0_151/bin/jar -xf **app** **test**.war**
   **rm -rf apptest.war**
   
   
 
