| ## Docker Installation | |
| ### Use default MetaGPT image | |
| ```bash | |
| # Step 1: Download metagpt official image and prepare config2.yaml | |
| docker pull metagpt/metagpt:latest | |
| mkdir -p /opt/metagpt/{config,workspace} | |
| docker run --rm metagpt/metagpt:latest cat /app/metagpt/config/config2.yaml > /opt/metagpt/config/config2.yaml | |
| vim /opt/metagpt/config/config2.yaml # Change the config | |
| # Step 2: Run metagpt demo with container | |
| docker run --rm \ | |
| --privileged \ | |
| -v /opt/metagpt/config/config2.yaml:/app/metagpt/config/config2.yaml \ | |
| -v /opt/metagpt/workspace:/app/metagpt/workspace \ | |
| metagpt/metagpt:latest \ | |
| metagpt "Write a cli snake game" | |
| # You can also start a container and execute commands in it | |
| docker run --name metagpt -d \ | |
| --privileged \ | |
| -v /opt/metagpt/config/config2.yaml:/app/metagpt/config/config2.yaml \ | |
| -v /opt/metagpt/workspace:/app/metagpt/workspace \ | |
| metagpt/metagpt:latest | |
| docker exec -it metagpt /bin/bash | |
| $ metagpt "Write a cli snake game" | |
| ``` | |
| The command `docker run ...` do the following things: | |
| - Run in privileged mode to have permission to run the browser | |
| - Map host configure file `/opt/metagpt/config/config2.yaml` to container `/app/metagpt/config/config2.yaml` | |
| - Map host directory `/opt/metagpt/workspace` to container `/app/metagpt/workspace` | |
| - Execute the demo command `metagpt "Write a cli snake game"` | |
| ### Build image by yourself | |
| ```bash | |
| # You can also build metagpt image by yourself. | |
| git clone https://github.com/geekan/MetaGPT.git | |
| cd MetaGPT && docker build -t metagpt:custom . | |
| ``` | |