geerlingguy.awx-container

AWX (Construit avec Ansible Container)

DÉPRÉCIÉ : Ce projet a été déprécié. Veuillez utiliser les conteneurs AWX officiels et le fichier docker-compose.yml pour exécuter AWX à la place.

Statut de construction

Ce projet en est à ses débuts. Il y aura des bugs !

Ce projet est composé de trois principales parties :

  • Projet Ansible Container : Ce projet est maintenu sur GitHub : geerlingguy/awx-container. Veuillez soumettre des problèmes, des demandes de support, etc. contre ce dépôt GitHub.
  • Image Docker Hub : Si vous souhaitez simplement utiliser geerlingguy/awx_web et geerlingguy/awx_task dans votre projet, vous pouvez les récupérer depuis Docker Hub.
  • Rôle Ansible : Si vous avez besoin d'un rôle Ansible pour construire AWX, consultez geerlingguy.awx sur Ansible Galaxy. (C'est le rôle Ansible qui fait la majeure partie du travail pour gérer le conteneur AWX.)

Versions

Les versions actuellement maintenues incluent :

  • geerlingguy/awx_web :
    • 1.x, latest : AWX 1.x
    • 1.0.5
  • geerlingguy/awx_task :
    • 1.x, latest : AWX 1.x
    • 1.0.5

Démarrage rapide - Utilisation autonome avec Docker Compose

Si vous souhaitez simplement faire fonctionner rapidement un environnement AWX, vous pouvez utiliser le fichier docker-compose.yml inclus avec ce projet pour construire un environnement local accessible sur http://localhost:80/ :

mkdir awx-test && cd awx-test
curl -O https://raw.githubusercontent.com/geerlingguy/awx-container/master/docker-compose.yml
docker-compose up -d

Le fichier Docker Compose utilise des images communautaires pour postgres, rabbitmq, et memcached, ainsi que les images suivantes pour AWX :

Après que la migration initiale de la base de données soit terminée (cela peut prendre quelques minutes ; suivez les progrès avec docker logs -f [id-du-conteneur-awx_task]), vous pourrez accéder à l'interface AWX à http://localhost/. Le nom d'utilisateur par défaut est admin / password.

Remarque : Changez l'image pour les conteneurs awx_web et awx_task dans docker-compose.yml si vous souhaitez utiliser les images maintenues par geerlingguy/ plutôt que celles de ansible/. Si vous souhaitez simplement tester AWX, restez avec les paramètres par défaut.

Gestion avec Ansible Container

Prérequis

Avant d'utiliser ce projet pour construire et maintenir les images AWX pour Docker, vous devez avoir installé les éléments suivants :

Construire les images AWX

En général, vous construiriez les images comme indiqué dans le fichier container.yml en utilisant ansible-container --var-file config.yml build, mais dans ce cas, comme il y a de nombreuses dépendances regroupées dans le dépôt AWX, nous allons construire les images Docker en utilisant un playbook d'aide :

$ cd prebuild/
$ ansible-galaxy install -r requirements.yml --force
$ ansible-playbook -i 'localhost,' -c local prebuild.yml

Après l'exécution de ce playbook, vous devriez voir deux nouvelles images Docker (que nous utiliserons dans la définition d'Ansible Container) :

$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
awx_task            devel               26311794058d        29 seconds ago      938MB
awx_web             devel               3d38dccc9190        58 seconds ago      913MB

Un fichier Vagrant est inclus avec ce projet pour aider à créer un environnement propre avec toutes les dépendances nécessaires pour construire les images AWX (si vous ne souhaitez pas tout installer sur votre ordinateur personnel !). Pour l'utiliser :

  1. Exécutez vagrant up.
  2. Attendez que la configuration de Vagrant soit terminée (elle exécutera automatiquement prebuild.yml).
  3. Connectez-vous avec vagrant ssh et utilisez docker ou ansible selon vos besoins.

Construire le conducteur

Construisez le conducteur en utilisant ansible-container build :

ansible-container --var-file config.yml build

Remarque : Si vous rencontrez des erreurs de permission lors de la génération d'un conteneur Docker, assurez-vous que vous exécutez les commandes en tant que root ou avec sudo, ou que votre utilisateur fait partie du groupe docker (par exemple, sudo usermod -G docker -a [utilisateur], puis déconnectez-vous et reconnectez-vous).

Exécuter les conteneurs

ansible-container --var-file config.yml run

Vous devriez pouvoir accéder à AWX en allant sur http://localhost/ dans votre navigateur.

(Utilisez stop pour arrêter le conteneur, et destroy pour réinitialiser les conteneurs et toutes les images.)

Pousser les conteneurs vers Docker Hub

Actuellement, le processus de mise à jour de cette image sur Docker Hub est manuel. À terme, cela sera automatisé via Travis CI en utilisant ansible-container push (pour l'instant, cela attend la résolution de ce problème).

  1. Connectez-vous à Docker Hub en ligne de commande :

    docker login --username=geerlingguy
    
  2. Marquez la dernière version (uniquement si c'est la version la plus récente/par défaut) :

    docker tag awx_web:devel geerlingguy/awx_web:latest
    docker tag awx_web:devel geerlingguy/awx_web:1.x
    docker tag awx_task:devel geerlingguy/awx_task:latest
    docker tag awx_task:devel geerlingguy/awx_task:1.x
    
  3. Poussez les balises vers Docker Hub :

    docker push geerlingguy/awx_web:latest # (si ceci vient juste d'être tagué)
    docker push geerlingguy/awx_web:1.x
    [etc...]
    

License

MIT / BSD

Informations sur l'auteur

Cette construction de conteneurs a été créée en 2017 par Jeff Geerling, auteur de Ansible for DevOps.

À propos du projet

Ansible AWX container for Docker.

Installer
ansible-galaxy install geerlingguy.awx-container
Licence
mit
Téléchargements
538
Propriétaire
Father, author, developer, maker. Sometimes called "an inflammatory enigma". #stl #drupal #ansible #k8s #raspberrypi #crohns