Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Démarrage des instances de conteneur Amazon ECS Linux pour transmettre des données
Lorsque vous lancez une EC2 instance Amazon, vous pouvez lui transmettre des EC2 données utilisateur. Ces données peuvent être utilisées afin d'effectuer des tâches de configuration automatisées courantes, voire d'exécuter des scripts lors du démarrage de l'instance. Pour AmazonECS, les cas d'utilisation les plus courants des données utilisateur sont la transmission d'informations de configuration au daemon Docker et à l'agent de ECS conteneur Amazon.
Vous pouvez transmettre plusieurs types de données utilisateur à AmazonEC2, notamment des boothooks cloud, des scripts shell et cloud-init
des directives. Pour plus d'informations sur ce point et sur d'autres types de format, consultez la documentation sur Cloud-Init
Pour transmettre les données utilisateur lors de l'utilisation de l'assistant de EC2 lancement Amazon, consultezLancement d'une instance de conteneur Amazon ECS Linux.
Vous pouvez configurer l'instance de conteneur pour transmettre des données dans la configuration de l'agent de conteneur ou dans la configuration du daemon Docker.
Agent de ECS conteneurs Amazon
Les variantes Linux de l'application ECS optimisée pour Amazon AMI recherchent les données de configuration de l'agent dans le /etc/ecs/ecs.config
fichier au démarrage de l'agent de conteneur. Vous pouvez spécifier ces données de configuration au lancement avec les données EC2 utilisateur Amazon. Pour plus d'informations sur les variables de configuration des agents de ECS conteneur Amazon disponibles, consultezConfiguration de l'agent de ECS conteneur Amazon.
Pour définir une seule variable de configuration d'agent, par exemple le nom du cluster, utilisez echo afin de copier la variable dans le fichier de configuration :
#!/bin/bash echo "ECS_CLUSTER=
MyCluster
" >> /etc/ecs/ecs.config
Si vous devez écrire plusieurs variables dans /etc/ecs/ecs.config
, utilisez le format heredoc
suivant. Ce format écrit tout entre les lignes commençant par cat et EOF
dans le fichier de configuration.
#!/bin/bash cat <<'EOF' >> /etc/ecs/ecs.config
ECS_CLUSTER=MyCluster ECS_ENGINE_AUTH_TYPE=docker ECS_ENGINE_AUTH_DATA={"https://index.docker.io/v1/":{"username":"my_name","password":"my_password","email":"email@example.com"}} ECS_LOGLEVEL=debug
ECS_WARM_POOLS_CHECK=true
EOF
Pour définir des attributs d'instance personnalisés, définissez la variable d'environnement ECS_INSTANCE_ATTRIBUTES
.
#!/bin/bash cat <<'EOF' >> ecs.config ECS_INSTANCE_ATTRIBUTES={"envtype":"prod"} EOF
Démon Docker
Vous pouvez spécifier les informations de configuration du démon Docker à l'aide des données EC2 utilisateur Amazon. Pour plus d'informations sur les options de configuration , consultez la documentation sur le démon Docker
Dans l'exemple ci-dessous, les options personnalisées sont ajoutées au fichier de configuration du démon Docker, /etc/docker/daemon.json
, qui est ensuite spécifié dans les données utilisateur lors du lancement de l'instance.
#!/bin/bash cat <<EOF >/etc/docker/daemon.json {"debug": true} EOF systemctl restart docker --no-block
Dans l'exemple ci-dessous, les options personnalisées sont ajoutées au fichier de configuration du démon Docker, /etc/docker/daemon.json
, qui est ensuite spécifié dans les données utilisateur lors du lancement de l'instance. Cet exemple montre comment désactiver le proxy Docker dans le fichier de configuration du démon Docker.
#!/bin/bash cat <<EOF >/etc/docker/daemon.json {"userland-proxy": false} EOF systemctl restart docker --no-block