Ansible
Install
Virtualenv (python)
Python virtual environment is highly recommended to isolate the python packages in shared systems and avoid broken dependencies when projects needs specific packages/versions.
To use python virtual environment (recommended when using many ansible projects) you need to install the base python package on your system (need elevated permissions - sudo):
- 
Install using the System's package manager: sudo dnf install python3-virtualenv
- 
Install using python3 package management (pip3): 
sudo pip3 install virtualenv
- Create the virtuale environment
in general
.venvis the default virtualenvironemnt that resides in the same directory of the project that the virtualenv will be used (ex. dirmy-project)
python3 -m venv my-project/.venv
- Enter in the project's directory and enable the virtual environment
cd my-project && \
source .venv/bin/activate
NOTE1: the terminal should have a prefix (
(.venv)) indicating that the venv is enabled, like that:
(.venv) [me@localhost .my-project]$ 
NOTE2: all the python environment should be behind the path
.venv, you can see the new path of pip:which pip3 # OR just pip (ur new environment has default py interpreter py3, so both are version 3) which pip
- 
Install the Ansible OR use requirements.txt file to persiste packages w/ versions 
- 
ad-hoc install pip3 install ansible
- 
requirements.txtfile
requirements.txt content:
ansible>=2.9,<2.10
install
pip3 install -r requirements
Container
To use ansible in a container, just use the same strategy of python virtual environment isolated.
There is two ways:
- install dependencies directly on Dockerfile, OR
- create a requirements.txt file with it's dependencies (highly recommended)
- Create Dockerfile
a) Create Dockerfile with requirements.txt file:
FROM centos:latest
WORKDIR /ansible
COPY requirements.txt .
RUN yum -y install python3-pip && \
    pip3 install -r requirements.txt
b) OR, leave all dependences inside Dockerfile:
FROM centos:latest
WORKDIR /ansible
COPY requirements.txt .
RUN yum -y install python3-pip && \
    pip3 install ansible
- Build the image
sudo podman build -t ansible .
- Run the container w/ ad-hoc command ping
sudo podman run -v $PWD:/ansible -it ansible ansible localhost -m ping