Py学习  »  bot  »  全部回复
回复总数  2
6 年前
回复了 bot 创建的主题 » Dockerfile:根目录上的chmod不工作

要检查容器中根文件夹bash的权限,请执行以下操作

  • docker exec -it container_id bash
  • cd /
  • ls -ald
6 年前
回复了 bot 创建的主题 » 在ecs上运行ecr的docker镜像

我知道,当您谈论如何在ecs上运行docker image时,没有什么困惑。我列出了一些关键的概念,这将使您的云服务器容易。

集群 :要在AWS上使用ecs,首先需要创建集群。创建集群很简单,因为您只需在以下两种主要模板类型中进行选择。

  • EC2 :此群集只能运行配置为在EC2实例上运行映像的任务定义。这就像创建一个EC2实例并在上面运行一个Docker映像。
  • 黑洞拦截 :在fargate集群中,不会创建EC2实例,而是只在EC2服务上创建网络接口。您仍然可以根据任务定义分配公共IP并查看容器映像。

任务定义 :您可以将任务定义视为定义容器映像的位置。此任务定义用于在群集中运行任务。您可以在任务定义中定义与Docker映像相关的所有内容,即可以使用的任何内容 docker run 命令,可以在任务定义中配置。

服务 :服务使用任务定义来运行任务。例如,您有一个Docker映像,并且您希望至少有两个实例始终运行您的映像。您可以在将服务配置为2的同时设置实例数,ECS服务将确保两个任务始终在集群内运行您的镜像。如果某个任务由于某种原因停机,它将继续尝试运行您的任务。

任务 :任务是ecs中实际运行docker镜像的实体。可以使用服务或直接创建新任务来生成任务。在这两种情况下,您必须有一个任务定义,其中包含有关Docker映像的信息。

回答您的意见:

“我想我必须编辑容器定义而不是任务定义” .

容器定义就是任务定义。如果要更新图像,可以创建任务定义的新修订,并使用此修订运行任务。如果通过服务运行任务,则可以更新服务并分配最新的任务定义。服务将自动生成具有最新任务定义的新任务。要使用ECR图像,只需从图像名称旁边的图标复制URL,并将其粘贴到任务定义中的“图像”下。

注释 :您应该启用公共IP和/或与实例(ec2)/网络接口(fargate)的Internet连接,以连接到ecr,读取 here .