AWSCDK:如何将build_args传递给DockerImageCode.from_image_asset?
创始人
2024-09-24 03:31:00
0

AWS CDK提供了DockerAssetImage构造函数和DockerImageAsset.create方法,允许您在生成CDK堆栈之前构建和推送Docker镜像。使用这些方法可以访问其他Dockerfile构建参数(通过build_args选项)。

以下是将构建参数传递给DockerImageCode.from_image_asset的示例代码:

from aws_cdk import (
    core,
    aws_ec2 as ec2,
    aws_ecr_assets as assets,
    aws_ecs as ecs,
)

class MyStack(core.Stack):
    def __init__(self, scope: core.Construct, id: str, **kwargs):
        super().__init__(scope, id, **kwargs)

        # 定义一个Dockerfile,该Dockerfile使用了ARG构建参数
        dockerfile = """
        FROM ubuntu:$UBUNTU_VERSION
        ARG APP_PORT
        EXPOSE $APP_PORT
        """

        # 创建DockerImageAsset,传递build_args
        asset = assets.DockerImageAsset(
            self, "MyAsset", 
            directory="./my-docker-image",
            file="Dockerfile",
            build_args={
                "UBUNTU_VERSION": "20.04",
                "APP_PORT": "8080",
            },
        )

        # 创建DockerImageCode并将其传递给EC2任务定义
        image = ecs.DockerImageCode.from_image_asset(asset)
        task_def = ecs.Ec2TaskDefinition(self, "MyTaskDef")
        container = task_def.add_container(
            "MyContainer",
            image=image,
            port_mappings=[
                ecs.PortMapping(container_port=8080),
            ],
        )

        # 创建EC2服务
        vpc = ec2.Vpc.from_lookup(self, "MyVpc", vpc_id="vpc-12345")
        cluster = ecs.Cluster(self, "MyCluster", vpc=vpc)
        service = ecs.Ec2Service(self, "MyService", cluster=cluster)
        service.add_placement_strategies(
            ecs.PlacementStrategy(count=1, field="instanceId", type=ecs.PlacementStrategy

相关内容

热门资讯

开挂辅助插件"hh ... hh poker软件开挂教程视频分享装挂详细步骤在当今的网络游戏中,hh poker软件作为一种经典...
开挂辅助脚本"aap... 较多好评“微乐万能挂官网”开挂(透视)辅助教程 了解更多开挂安装加(136704302)微信号是一款...
开挂辅助安装"wep... 开挂辅助安装"wepoker有透视功能吗"开挂(透视)辅助插件(有挂存在) 了解更多开挂安装加(13...
开挂辅助安装"pok... 您好:pokemmo脚本手机版这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多...
开挂辅助插件"wep... 较多好评“微乐万能挂官网”开挂(透视)辅助教程 了解更多开挂安装加(136704302)微信号是一款...
开挂辅助神器"wpk... 【亲,wpk德州局透视 这款游戏可以开挂的,确实是有挂的,很多玩家在这款wpk德州局透视中打牌都会发...
开挂辅助神器"wep... wepoker透视app下载开挂教程视频分享装挂详细步骤在当今的网络游戏中,wepoker透视app...
开挂辅助工具"hhp... 开挂辅助工具"hhpoker有没有辅助挂"开挂(透视)辅助下载(有挂解密);无需打开直接搜索加薇13...
开挂辅助平台"har... 【亲,hardrock辅助 这款游戏可以开挂的,确实是有挂的,很多玩家在这款hardrock辅助中打...
开挂辅助神器"拱趴大... 开挂辅助神器"拱趴大菠萝挂"开挂(透视)辅助插件(真的有挂)《详细加薇136704302咨询》游戏特...