docker run \
--rm -d \
--name gns3 \
--net=host --privileged \
-e BRIDGE_ADDRESS="172.21.1.1/24" \
-v <data path>:/data \
jsimonetti/gns3-server:latest
The parameters are split into two halves, separated by a colon, the left hand side representing the host and the right the container side. For example with a port -p external:internal - what this shows is the port mapping from internal to external of the container. So -p 8080:80 would expose port 80 from inside the container to be accessible from the host's IP on port 8080 http://192.168.x.x:8080 would show you what's running INSIDE the container on port 80.
-v /data
- Path to persistant data-e BRIDGE_ADDRESS="172.21.1.1/24"
- Configure the internal NAT network bridge for GNS3It is based on alpine-linux edge, for shell access whilst the container is running do docker exec -it gns3 /bin/sh
.
This container works best when run priviledged and on a network other then dockers' default (host or macvtap for example). If you run on docker's default network you need to expose all ports used by gns3 and consoles yourself.
docker logs -f gns3
.