{"id":18610229,"url":"https://github.com/iamncj/gns3-docker","last_synced_at":"2026-01-24T21:14:08.028Z","repository":{"id":46626412,"uuid":"324577817","full_name":"iamNCJ/gns3-docker","owner":"iamNCJ","description":"Run GNS3 Server inside Docker","archived":false,"fork":false,"pushed_at":"2021-10-03T07:58:58.000Z","size":11,"stargazers_count":11,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-12-27T01:40:32.399Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/iamNCJ.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-12-26T15:02:07.000Z","updated_at":"2024-12-16T22:14:12.000Z","dependencies_parsed_at":"2022-09-23T03:40:16.433Z","dependency_job_id":null,"html_url":"https://github.com/iamNCJ/gns3-docker","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamNCJ%2Fgns3-docker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamNCJ%2Fgns3-docker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamNCJ%2Fgns3-docker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamNCJ%2Fgns3-docker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iamNCJ","download_url":"https://codeload.github.com/iamNCJ/gns3-docker/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239400604,"owners_count":19632050,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-07T03:08:57.724Z","updated_at":"2025-11-02T20:30:38.002Z","avatar_url":"https://github.com/iamNCJ.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GNS3 Docker\n\nA dockerfile for gns3-server, can run gns3 with remote-server mode. You can deploy it on `wsl` or `vps`.\n\n\n\n**What is the different between local-server, vm (vmware or others) and remote-server?**\n\n- GNS3 is C/S arch，`gns3-all-in-one.exe` is just a client gui installer\n- if you use local-server,   `gns3-server.exe` will start on you local OS\n- if you use vm, `gns3` will use call `hyperviser` to open vm, and you can simple regard vm as a `ubuntu` images with running `gns3-server` \n- if you use remote-server, it is just like vm server, but you can deploy it simple and much simpler!\n\n\n\n\n\n### How to use?\n\n**First of all**, you need to build a `gns3-server` image，the dockerfile is provided in `/asset` folder.\n\nThere are two ways to build it\n\n- ~~~shell\n  #first way\n  git clone https://github.com/iamNCJ/gns3-docker\n  cd /assets\n  \n  # -t set a tag for later to distinguish\n  # -f use the specified dockerfile\n  docker build . -t gns3-server:2.2.25 -f gns.Dockerfile\n  ~~~\n\n- If the first way you meet some weird errors, you can use aliyun ACR\n\n  - first create a repo at [code.aliyun.com](http://code.aliyun.com)，just put a `Dockerfile` file at the root pos with the contents same as  `gns.Dockerfile`\n\n  - go to [here](https://cr.console.aliyun.com/cn-hangzhou/instance/repositories)，click **创建镜像仓库**, and  choose the source code register with **云code**，then set ![image-20211003150605678](https://pic.raynor.top/images/2021/10/03/image-20211003150605678.png)\n\n    ![image-20211003150738025](https://pic.raynor.top/images/2021/10/03/image-20211003150738025.png)\n\n  - then click\n\n    ![image-20211003150811945](https://pic.raynor.top/images/2021/10/03/image-20211003150811945.png)\n\n  - after build success, you can use this to pull the images\n\n    ~~~bash\n    docker pull registry.cn-hangzhou.aliyuncs.com/****/gns3_server:[镜像版本号] \n    ~~~\n\n- use `docker images` to check whether build success!\n\n\n\n**Second**,  you need edit the `Dockerfile` \n\n~~~shell\n\ncd /path/to/gns3-docker\nvim docker-compose.yaml\n\n##change the \n gns3-server:\n    image: registry.cn-shanghai.aliyuncs.com/ncj/gns3:2.2.17\n    \n## to\n gns3-server:\n \timage: #the tag you build at the first step! maybe gns3-server:2.2.25 or registry.cn-shanghai.aliyuncs.com/****/****:0.0.1\n~~~\n\nthen just use follow command to start it!\n\n```bash\ndocker-compose up -d\n```\n\n\n\n\n\n### Tips:\n\n- if you use VPS, don't forget to open firewall with `3080` port( if you don't change it )\n- if you use WSL, you can visit `localhost:3080` to check whether deply success，otherwise you need to visit `http://ip:3080` to check\n\n\n\n### How to use GNS3-client?\n\n- go to https://github.com/GNS3/gns3-gui/releases/ to download the lastest [GNS3-2.2.25-all-in-one.exe](https://github.com/GNS3/gns3-gui/releases/download/v2.2.25/GNS3-2.2.25-all-in-one.exe)\n- install it with default setting\n\n![image-20211003151927366](https://pic.raynor.top/images/2021/10/03/image-20211003151927366.png)\n\n\n\n- if you have already install it, just uninstall and redo(XD\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiamncj%2Fgns3-docker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fiamncj%2Fgns3-docker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiamncj%2Fgns3-docker/lists"}