---
okf_version: '0.2'
---

# Resource types

* [DockerConfig](/types/DockerConfig.md) - Docker::Compose::Config
* [Dockerfile](/types/Dockerfile.md) - Docker::Dockerfile
* [DockerSecret](/types/DockerSecret.md) - Docker::Compose::Secret
* [Network](/types/Network.md) - Docker::Compose::Network
* [Service](/types/Service.md) - Docker::Compose::Service
* [Volume](/types/Volume.md) - Docker::Compose::Volume

# Rules

* [DKRD001](/rules/DKRD001.md) - Service uses :latest or untagged image — specify an explicit version tag
* [DKRD002](/rules/DKRD002.md) - Named volume is declared but not mounted by any service
* [DKRD003](/rules/DKRD003.md) - Service exposes SSH port (22) externally — this is a security risk
* [DKRD010](/rules/DKRD010.md) - apt-get install without --no-install-recommends adds unnecessary packages
* [DKRD011](/rules/DKRD011.md) - Prefer COPY over ADD when not fetching URLs or extracting archives
* [DKRD012](/rules/DKRD012.md) - Dockerfile has no USER instruction — container runs as root
* [DKRS001](/rules/DKRS001.md) - No Latest Tag
