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

相关内容

热门资讯

揭秘关于!aapoker有什么... 揭秘关于!aapoker有什么规律吗,德州之星辅助挂,安装教程(原来是真的有挂),您好,德州之星辅助...
一分钟了解!aapoker下载... 一分钟了解!aapoker下载教程,德扑之星辅助器购买,可靠教程(总是是真的有挂),您好,德扑之星辅...
玩家必备科技!wepower有... 玩家必备科技!wepower有外挂,aapoker挂,黑科技教程(往昔是有挂)1)wepower有外...
科普常识!鱼扑克app ai,... 科普常识!鱼扑克app ai,WePoKe透视挂,详细教程(一直真的是有挂)(1)科普常识!鱼扑克a...
一起来讨论!德扑ai软件购买,... 一起来讨论!德扑ai软件购买,aa扑克辅助,AI教程(一向有挂)是一款可以让一直输的玩家,快速成为一...
总算了解!gg扑克发牌问题,W... 总算了解!gg扑克发牌问题,WePoKe外挂,科技教程(本来是有挂)1、超多福利:超高返利,海量正版...
一分钟揭秘!鱼扑克发牌规律,W... 一分钟揭秘!鱼扑克发牌规律,WPK透视辅助,wpk教程(素来有挂)是一款可以让一直输的玩家,快速成为...
终于懂了!德扑分析软件,智星德... 终于懂了!德扑分析软件,智星德州菠萝有挂吗,必备教程(原本真的是有挂);致您一封信;亲爱智星德州菠萝...
科技通报!德扑之星的发牌是不是... 科技通报!德扑之星的发牌是不是有问题,智星德州菠萝辅助器,曝光教程(一贯真的有挂)1)智星德州菠萝辅...
玩家必备教程!wepoke管理... 玩家必备教程!wepoke管理员,德州微扑克辅助,介绍教程(一向真的是有挂)1、德州微扑克辅助ai辅...