Documentation

    PLEASE NOTE: This document applies to latest version and not to the latest stable release v2.19

    Documentation for other releases can be found by using the version selector in the top right of any doc page.

    docker_container

    Manage Docker containers.

    Attributes

    check_mode:
      support: full
    

    Parameters

    Parameter Required Type Values Description
    auto_remove   boolean   Automatically remove the container when it exits.
    capabilities_add   array   List of capabilities to add.
    capabilities_drop   array   List of capabilities to drop.
    command   array   Command to run in the container.
    cpu_period   integer   CPU period in microseconds.
    cpu_quota   integer   CPU quota in microseconds.
    cpu_shares   integer   CPU shares (relative weight).
    detach   boolean   Run container in detached mode (background).
    entrypoint   string   Entry point for the container.
    env   array   Environment variables.
    env_dict   object   Dictionary of environment variables.
    force   boolean   Force container removal on state=absent.
    healthcheck   object   Health check configuration.
    hostname   string   Container hostname.
    image   string   Image to use for the container.
    interactive   boolean   Keep stdin open.
    memory   string   Memory limit (e.g., “512m”, “1g”).
    name true string   Name of the container.
    networks   array   Networks to connect to.
    ports   array   Port mappings.
    privileged   boolean   Run container in privileged mode.
    pull   boolean   Pull image before running.
    restart_policy   string   Restart policy (no, always, on-failure, unless-stopped).
    state   string absent
    present
    restarted
    started
    stopped
    State of the container.
    tty   boolean   Allocate a pseudo-TTY.
    user   string   User to run as inside the container.
    volumes   array   Volume mappings.
    working_dir   string   Working directory inside the container.

    Example

    - name: Start a container
      docker_container:
        name: myapp
        image: nginx:latest
        state: started
    
    - name: Stop a container
      docker_container:
        name: myapp
        state: stopped
    
    - name: Restart a container
      docker_container:
        name: myapp
        state: restarted
    
    - name: Remove a container
      docker_container:
        name: myapp
        state: absent
    
    - name: Create a container with ports and environment
      docker_container:
        name: webapp
        image: nginx:latest
        state: started
        ports:
          - "8080:80"
          - "443:443"
        env:
          NGINX_HOST: example.com
    
    - name: Create a container with volumes
      docker_container:
        name: dataapp
        image: alpine:latest
        state: started
        volumes:
          - "/host/path:/container/path"
          - "named_volume:/data"
    
    - name: Create a container with health check
      docker_container:
        name: healthy_app
        image: nginx:latest
        state: started
        healthcheck:
          test: ["CMD", "curl", "-f", "http://localhost/"]
          interval: 30s
          timeout: 10s
          retries: 3
    
    - name: Create a container with resource limits
      docker_container:
        name: limited_app
        image: nginx:latest
        state: started
        memory: "512m"
        cpu_shares: 512
    
    - name: Create a container connected to a network
      docker_container:
        name: networked_app
        image: nginx:latest
        state: started
        networks:
          - mynetwork