Docker Repository
Docker Images are available on Docker Hub: https://hub.docker.com/r/cowrie/cowrie
Docker Quick Start
To run Cowrie in Docker:
$ docker run -p 2222:2222 cowrie/cowrie
$ ssh -p 2222 root@localhost
Configuring Cowrie in Docker with Environment Variables
Cowrie in Docker can be configured using environment variables. The
variable starts with COWRIE_
then has the section name in capitals,
followed by the stanza in capitals. This example enables
telnet support:
COWRIE_TELNET_ENABLED=yes
And then start Cowrie as:
$ docker run -e COWRIE_TELNET_ENABLED=yes -p 2223:2223 cowrie/cowrie
$ telnet localhost 2223
Configuring Cowrie in Docker with Config Files
Alternatively, Cowrie in Docker can use an etc mount to store configuration data. Docker can either mount a volume or a directory.
Mounting a volume or directory on /etc will make existing files unavailable to Cowrie, so make sure to copy userdb.txt and cowrie.cfg.dist there too!
Create `cowrie.cfg`
inside the etc directory (or volume)
with the following contents to enable telnet in Cowrie in Docker:
[telnet]
enabled = yes
Start Cowrie as:
$ docker run -p 2223:2223 --mount type=bind,source=./etc,target=/cowrie/cowrie-git/etc cowrie/cowrie
$ telnet localhost 2223
Environment variables take precedence over the configuration file.
Building Docker Images
If you want to make extensive changes to the Docker image, it may be easier to build your own local docker image with:
$ make docker-load