Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 在AWS上轻松运行单个Dockerfile_Amazon Web Services_Docker_Amazon Ecs_Amazon Ecr - Fatal编程技术网

Amazon web services 在AWS上轻松运行单个Dockerfile

Amazon web services 在AWS上轻松运行单个Dockerfile,amazon-web-services,docker,amazon-ecs,amazon-ecr,Amazon Web Services,Docker,Amazon Ecs,Amazon Ecr,假设我有一个简单的独立Dockerfile及其entrypoint.sh。容器已在AWS ECR上制造和储存 在本地,我是这样运行的: docker run —rm my_container my_parameters 我不需要负载平衡,也不需要在执行后使容器保持活动状态,只需要按需执行(通过AWSAPI) 在AWS上执行此操作的最简单方法是什么?下面是在AWS上运行最简单容器的前3层 创建集群 创建任务定义 创建服务 但是在上面的序列中,您的命令docker run-rm my_contai

假设我有一个简单的独立Dockerfile及其entrypoint.sh。容器已在AWS ECR上制造和储存

在本地,我是这样运行的:

docker run —rm my_container my_parameters
我不需要负载平衡,也不需要在执行后使容器保持活动状态,只需要按需执行(通过AWSAPI)


在AWS上执行此操作的最简单方法是什么?

下面是在AWS上运行最简单容器的前3层

  • 创建集群
  • 创建任务定义
  • 创建服务
  • 但是在上面的序列中,您的命令
    docker run-rm my_container my_参数
    位于第3层。由于在整个生命周期中只需创建一次第1层,如果需要任何更改,如任务定义中的端口更新或任何环境,则需要更新第2层,但在某些情况下,这种情况并不常见

    因此,使用API或AWS CLI更好地管理第3层。正如您提到的随需应变,所以您也可以使用在特定时间运行和停止的容器来运行

    bash脚本将在另一个(停止容器)中创建任务定义(模板)、启动服务(运行容器)和停止服务

    taskdefinition.json

    
    {
      "containerDefinitions": [
      {
        "cpu": 0,
        "logConfiguration": {
          "logDriver": "awslogs",
          "options": {
            "awslogs-group": "/ecs/stage-background-worker",
            "awslogs-region": "us-west-2",
            "awslogs-stream-prefix": "ecs"
      }
    },
        "environment": [
          {
            "name": "NODE_ENV",
            "value": "staging"
          }
        ],
    
    
        "memoryReservation": 400,
        "image": "youarn.dkr.ecr.us-west-2.amazonaws.com:latest",
        "dockerLabels": {
          "Name": "test"
        },
        "privileged": true,
        "name": "test"
      }
    ],
    
    "family": "test"
    }
    
    
    基于AWS-CLI,您可以对任何编程语言进行相同的探索

    
    {
      "containerDefinitions": [
      {
        "cpu": 0,
        "logConfiguration": {
          "logDriver": "awslogs",
          "options": {
            "awslogs-group": "/ecs/stage-background-worker",
            "awslogs-region": "us-west-2",
            "awslogs-stream-prefix": "ecs"
      }
    },
        "environment": [
          {
            "name": "NODE_ENV",
            "value": "staging"
          }
        ],
    
    
        "memoryReservation": 400,
        "image": "youarn.dkr.ecr.us-west-2.amazonaws.com:latest",
        "dockerLabels": {
          "Name": "test"
        },
        "privileged": true,
        "name": "test"
      }
    ],
    
    "family": "test"
    }