一:创建资源
\1. 在页面左侧,单击 云产品资源 下拉菜单,查看本次实验资源。
\2. 单击 免费开通 创建所需资源。
资源创建过程需要1~3分钟。完成实验资源的创建后,您可以在 云产品资源 列表查看已创建的资源信息,例如:IP地址、用户名和密码等。
3.连接ECS服务器
Windows用户:使用putty远程登录ECS服务器,putty下载地址如下:
64-bit:https://the.earth.li/~sgtatham/putty/latest/w64/putty.exe
32-bit:https://the.earth.li/~sgtatham/putty/latest/w32/putty.exe
Mac用户:使用系统自带的终端“Terminal”连接ECS服务器。
4.远程登录到ECS服务器
双击打开putty软件,在“Host Name (or IP address)”中输入ECS公网地址。

完成后,点击“Open”。
在弹出的对话框中,输入ECS服务器的登录用户名root,输入ECS服务器的登录密码(此处密码不会显示)。
登录成功后显示如下信息:

\1. 运行以下命令安装Docker的依赖库。这里yum-utils 提供了 yum-config-manager,并且 device mapper存储驱动程序需要 device-mapper-persistent-data 和 lvm2。
yum install -y yum-utils device-mapper-persistent-data lvm2
\2. 运行以下命令添加Docker CE的软件源信息。Docker版本分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业版),这里选择Docker CE。
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
\3. 运行以下命令安装Docker CE。
yum -y install docker-ce
\4. 运行以下命令查看Docker版本:
docker -v
\5. 运行以下命令启动Docker服务
systemctl start docker
\6. 运行以下命令查看Docker服务状态
service docker status
Docker启动成功后显示如下信息:

说明:停止Docker服务使用命令: systemctl stop docker
\7. 运行以下命令测试运行Docker Hello World
docker run hello-world
![]()
本步骤在Docker容器中通过 Python Flask运行一个WEB应用
\1. 列出镜像列表
docker images
命令运行结果如下所示:

说明:REPOSITORY表示镜像的仓库源。同一仓库源可以有多个TAG,代表这个仓库源的不同版本。如Ubuntu仓库源里,有15.10、14.04等多个不同的版本,使用 REPOSITORY:TAG 来定义不同的镜像。
2.拉取镜像:把指定镜像拉取到本地
docker pull training/webapp
命令运行结果如下所示:

说明:拉取镜像需要较长时间,当拉取镜像失败时,建议配置DockerHub镜像加速器。具体方法是增加一个文件/etc/docker/daemon.json,并添加上registry-mirrors键值,步骤如下:
vi /etc/docker/daemon.json
在文件中添加以下内容
"registry-mirrors": ["https://registry.docker-cn.com"]
完成后点击“ECS”键,然后输入:wq保存退出文档。再重新执行拉取镜像命令。
3.运行容器
docker run -d -P training/webapp python app.py
参数说明: -d:让容器在后台运行
-P:将容器内部使用的网络端口映射到主机上
命令运行结果如下所示:

4.查看正在运行的容器
docker ps
命令运行结果如下所示:

可以看到Docker 开放了 5000 端口(默认 Python Flask 端口)映射到主机端口49153上
说明:docker ps -a列出所有容器(包括未运行的)。
5.使用ECS实例IP和端口号,通过浏览器访问WEB应用。
在浏览器地址栏输入http://ECS 实例公网地址:端口号并按回车键,本示例运行结果如下:

6.查看 WEB 应用程序日志,命令格式:docker logs 容器ID或者名字
docker logs -f 88bd74928ed7
参数说明:-f: 让 docker logs 像使用 tail -f 一样来输出容器内部的标准输出。
本示例运行结果如下:

7.停止 WEB 应用容器,命令格式: docker stop容器ID或者名字
docker stop 88bd74928ed7
本示例运行结果如下:
![]()
8.移除WEB应用容器,命令格式: docker rm容器ID或者名字
docker rm 88bd74928ed7
注意:删除容器时,容器必须是停止状态,否则会报错误。
恭喜完成

恭喜您完成了本场景实验