Search code examples
dockerbuildredhat

Docker experimental version on Red Hat


I have a Red Hat machine on an AWS cloud. I installed Ansible and Docker (experimental version as the community edition cannot be installed now on Red Hat). Now I am runnig a simple command to check whether Docker works:

ansible local -m shell -a "docker pull hello-world"

I'm getting the following error:

localhost | FAILED | rc=1 >>

Using default tag: latest

Warning: failed to get default registry endpoint from daemon (Cannot connect to the Docker daemon. Is the docker daemon running on this host?). Using system default: https://index.docker.io/v1/Cannot connect to the Docker daemon. Is the docker daemon running on this host?

When I use

sudo ansible local -m shell -a "docker pull hello-world"
localhost | UNREACHABLE! => {
      "changed": false,
      "msg": "Failed to connect to the host via ssh: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).\r\n",
      "unreachable": true
}

I have tested Ansible by copying a file into local host and it works fine whereas with Docker I'm facing this issue. Is there anything I am missing or anything that needs to be setup for Docker's experimental version?


Solution

  • You don't want to run ansible through sudo but tell ansible that it should run the command using sudo. That can be done by adding the -s flag

    ansible local -s -m shell -a "docker pull hello-world"