Building your first Execution Environment

We are going to build an EE that represents an Ansible control node containing standard packages such as ansible-core and Python in addition to an Ansible collection (community.postgresql) and its dependency (the psycopg2-binary Python connector).

To build your first EE:

  1. Create a project folder on your filesystem.

    mkdir my_first_ee && cd my_first_ee
    
  2. Create a execution-environment.yml file that specifies dependencies to include in the image.

  3. Build a EE container image called postgresql_ee.

    If you use docker, add the --container-runtime docker argument.

    ansible-builder build --tag postgresql_ee
    
  4. List container images to verify that you built it successfully.

    podman image list
    
    localhost/postgresql_ee          latest      2e866777269b  6 minutes ago  1.11 GB
    

You can verify the image you created by inspecting the Containerfile or Dockerfile in the context directory to view its configuration.

less context/Containerfile

You can also use Ansible Navigator to view detailed information about the image.

Run the ansible-navigator command, type :images in the TUI, and then choose postgresql_ee.

Proceed to Running your EE and test the EE you just built.

See also

Running a local container registry for Execution Environments

This guide in the Ansible community forum explains how to set up a local registry for your Execution Environment images.