We're trying to fix as many broken links as possible before modules move into collections.  This is the batch of broken links on docker modules.

NOTE: the link checker sometimes reports an error where a link actually works. Ignore those if you find them.

##### ISSUE TYPE
- Documentation Report

##### COMPONENT NAME
<!--- Write the short name of the rst file, module, plugin, task or feature below, use your best guess if unsure -->
docs.ansible.com

###### BROKEN LINKS
https://docs.ansible.com/ansible/devel/modules/docker_compose_module.html#docker-compose-module
├─BROKEN─ https://docker-py.readthedocs.io/en/stable/machine/ 

https://docs.ansible.com/ansible/devel/modules/docker_image_module.html#docker-image-module
├─BROKEN─ https://docker-py.readthedocs.io/en/stable/machine/ 

https://docs.ansible.com/ansible/devel/modules/docker_config_module.html#docker-config-module
├─BROKEN─ https://docker-py.readthedocs.io/en/stable/machine/ 

https://docs.ansible.com/ansible/devel/modules/docker_container_info_module.html#docker-container-info-module
├─BROKEN─ https://docker-py.readthedocs.io/en/stable/machine/ 

https://docs.ansible.com/ansible/devel/modules/docker_host_info_module.html#docker-host-info-module
├─BROKEN─ https://docker-py.readthedocs.io/en/stable/machine/ 

https://docs.ansible.com/ansible/devel/modules/docker_image_info_module.html#docker-image-info-module
├─BROKEN─ https://docker-py.readthedocs.io/en/stable/machine/ 

https://docs.ansible.com/ansible/devel/modules/docker_login_module.html#docker-login-module
├─BROKEN─ https://docker-py.readthedocs.io/en/stable/machine/ 

https://docs.ansible.com/ansible/devel/modules/docker_network_module.html#docker-network-module
├─BROKEN─ https://docker-py.readthedocs.io/en/stable/machine/ 

https://docs.ansible.com/ansible/devel/modules/docker_network_info_module.html#docker-network-info-module
├─BROKEN─ https://docker-py.readthedocs.io/en/stable/machine/ 

https://docs.ansible.com/ansible/devel/modules/docker_node_module.html#docker-node-module
├─BROKEN─ https://docker-py.readthedocs.io/en/stable/machine/ 

https://docs.ansible.com/ansible/devel/modules/docker_node_info_module.html#docker-node-info-module
├─BROKEN─ https://docker-py.readthedocs.io/en/stable/machine/ 

https://docs.ansible.com/ansible/devel/modules/docker_prune_module.html#docker-prune-module
├─BROKEN─ https://docker-py.readthedocs.io/en/stable/machine/ 

https://docs.ansible.com/ansible/devel/modules/docker_secret_module.html#docker-secret-module
├─BROKEN─ https://docker-py.readthedocs.io/en/stable/machine/ 

https://docs.ansible.com/ansible/devel/modules/docker_swarm_module.html#docker-swarm-module
├─BROKEN─ https://docker-py.readthedocs.io/en/stable/machine/ 

https://docs.ansible.com/ansible/devel/modules/docker_swarm_info_module.html#docker-swarm-info-module
├─BROKEN─ https://docker-py.readthedocs.io/en/stable/machine/ 

https://docs.ansible.com/ansible/devel/modules/docker_swarm_service_module.html#docker-swarm-service-module
├─BROKEN─ https://docker-py.readthedocs.io/en/stable/machine/ 

https://docs.ansible.com/ansible/devel/modules/docker_swarm_service_info_module.html#docker-swarm-service-info-module
├─BROKEN─ https://docker-py.readthedocs.io/en/stable/machine/ 

https://docs.ansible.com/ansible/devel/modules/docker_volume_module.html#docker-volume-module
├─BROKEN─ https://docker-py.readthedocs.io/en/stable/machine/ 

https://docs.ansible.com/ansible/devel/modules/docker_volume_info_module.html#docker-volume-info-module
├─BROKEN─ https://docker-py.readthedocs.io/en/stable/machine/ 

size=dict(type='int', default=4096),
            type=dict(type='str', default='RSA', choices=[
                'DSA', 'ECC', 'Ed25519', 'Ed448', 'RSA', 'X25519', 'X448'
            ]),
            curve=dict(type='str', choices=[
                'secp384r1', 'secp521r1', 'secp224r1', 'secp192r1', 'secp256r1',
                'secp256k1', 'brainpoolP256r1', 'brainpoolP384r1', 'brainpoolP512r1',
                'sect571k1', 'sect409k1', 'sect283k1', 'sect233k1', 'sect163k1',
                'sect571r1', 'sect409r1', 'sect283r1', 'sect233r1', 'sect163r2',
            ]),
            force=dict(type='bool', default=False),
            path=dict(type='path', required=True),
            passphrase=dict(type='str', no_log=True),
            cipher=dict(type='str'),
            backup=dict(type='bool', default=False),
            format=dict(type='str', default='auto_ignore', choices=['pkcs1', 'pkcs8', 'raw', 'auto', 'auto_ignore']),
            format_mismatch=dict(type='str', default='regenerate', choices=['regenerate', 'convert']),
            select_crypto_backend=dict(type='str', choices=['auto', 'pyopenssl', 'cryptography'], default='auto'),
            return_content=dict(type='bool', default=False),
        ),
        supports_check_mode=True,
        add_file_common_args=True,
        required_together=[
            ['cipher', 'passphrase']
        ],
        required_if=[
            ['type', 'ECC', ['curve']],
        ],
    )
    base_dir = os.path.dirname(module.params['path']) or '.'