安装Pip
1
、
curl -O
https://bootstrap.pypa.io/get-pip.py
2
、
python get-pip.py --user
使用 Pip 安装AWS CLI
pip install awscli --upgrade --user
更新系统并安装 docker 服务
sudo yum update -y && sudo yum install -y docker
启动docker 服务
sudo service docker start
将 ec2-user 添加到 docker 组,以便您能够执行 Docker 命令、然后重启 EC2
sudo usermod -a -G docker ec2-user
验证 ec2-user 是否能在没有 sudo 的情况下运行 Docker 命令
docker info
安装 git
sudo yum install -y git
测试:将简单 PHP 应用程序克隆到系统中
git clone
https://github.com/awslabs/ecs-demo-php-simple-app
cd ecs-demo-php-simple-app
构建 docker image (红色为镜像名字)
docker build -t
yg-test
.
运行新构建的映像、并映射容器80端口
docker run -p 80:80
yg-test
如果您使用的是 EC2 实例,这将是服务器的 Public DNS 值,此值与您用于通过 SSH 连接到实例的地址相同。确保实例的安全组允许端口 80 上的入站流量
通过 实例ip + 端口 可访问应用服务:52.81.102.108:80
以上内容为前提条件,镜像为测试、通过键入 Ctrl +c 来停止 Docker 容器
创建 ECR 存储库、查看推送命令
在使用推送命令之前、需要设置 aws 信息
aws configure
AWS Access Key ID [None]: AKIAOPI2G(用户ID key)
AWS Secret Access Key [None]: s7Ji+iWFiMgGK5WkEeONdC(用户ID 密钥)
Default region name [None]: cn-north-1(当前所在region)
Default output format [None]: json
配置完后、开始使用 推送镜像命令
检索登录命令、对 Docker 客户端进行身份验证,以允许其访问您的注册表
aws ecr get-login --no-include-email --region cn-north-1
输入以上命令后得到以下信息:
docker login -u AWS -p eyJwYsjocvnngocjkgoqjoc…..中间省略 https://297669174308.dkr.ecr.cn-north-1.amazonaws.com.cn
然后将信息拷贝后粘贴到终端、完成身份验证。
使用以下命令生成 Docker 映像、其他应用程序也可以做成镜像
docker build -t yg-test . (上面已生成、此步骤可忽略)
生成完成后,标记您的映像 (红色为 tag 名字、方便推送)
docker tag yg-test:latest 297669174308.dkr.ecr.cn-north-1.amazonaws.com.cn/yg-test:latest
运行以下命令将此映像推送到您新创建的 AWS ECR 存储库:红色为镜像名称、后面作为运行容器的镜像
docker push 297669174308.dkr.ecr.cn-north-1.amazonaws.com.cn/yg-test:latest
创建集群:用于运行任务请求的一个或多个容器实例的区域性分组
任务定义:任务定义为您的应用程序指定容器信息、创建新任务定义、添加容器、设置每个容器服务的端口映射后添加容器
(例如,您的任务中包含多少个容器,它们使用哪些资源,它们如何链接在一起,以及它们将使用哪些主机端口)
运行该任务之后、会自动分配到集群实例当中运行( 若是个空集群、该任务运行会失败 )
看到该任务已在集群中处于 Running状态
最后可通过该 ip + 端口号可访问服务:
根据以上内容、您可以了解到应用如何打包成镜像、如何上传 ECR 仓库、如何生成容器并在集群中运行