{"id":16141318,"url":"https://github.com/rootsongjc/docker-ipam-plugin","last_synced_at":"2025-06-15T11:06:22.547Z","repository":{"id":84638656,"uuid":"61100330","full_name":"rootsongjc/docker-ipam-plugin","owner":"rootsongjc","description":"Docker network plugin to make a L2 flat network. ","archived":false,"fork":false,"pushed_at":"2017-04-18T03:27:08.000Z","size":767,"stargazers_count":14,"open_issues_count":0,"forks_count":10,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-06-09T01:59:39.641Z","etag":null,"topics":["docker"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rootsongjc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-06-14T07:11:31.000Z","updated_at":"2023-03-01T01:38:03.000Z","dependencies_parsed_at":null,"dependency_job_id":"932d21fd-95c0-4cf2-9fc3-bd7941befe43","html_url":"https://github.com/rootsongjc/docker-ipam-plugin","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rootsongjc/docker-ipam-plugin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rootsongjc%2Fdocker-ipam-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rootsongjc%2Fdocker-ipam-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rootsongjc%2Fdocker-ipam-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rootsongjc%2Fdocker-ipam-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rootsongjc","download_url":"https://codeload.github.com/rootsongjc/docker-ipam-plugin/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rootsongjc%2Fdocker-ipam-plugin/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259964327,"owners_count":22938724,"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":["docker"],"created_at":"2024-10-09T23:55:02.363Z","updated_at":"2025-06-15T11:06:22.495Z","avatar_url":"https://github.com/rootsongjc.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Docker custom network plugin\n\n#### Overview\n\nCreate a new docker custom network named \"mynet\" with a bridge br0.\nDocker container allocated on different hosts which started with \"mynet\" can be assgined a IP address by yourself or automated assgined so that the containers can be accessed by each others and the hosts.\n\n#### Design\n\nFeature\n\n1.IP manager\n\nAll IP addressed stored in ectd. The plugin create a unix socker - /var/run/docker/plugins/talkingdata.sock. Docker invoke the socket when users communcate with docker everytime.\n\n2.Create network\n\nCreate a network configuration file on /etc/sysconfig/network-scripts/ifcfg-br0, restart network it works.\n\nFor example:\n\n```\nDEVICE=br0\n\nTYPE=Bridge\n\nBOOTPROTO=static\n\nIPADDR=10.10.0.85\n\nGATEWAY=10.10.0.1\n\nNETMASK=255.255.192.0\n\nONBOOT=yes\n\nNOZEROCONF=yes\n\nIPV6INIT=no\n\nNM_CONTROLLED=no\n\nDELAY=0\n```\n\n#### Usage\nEnviromnent \n\nDocker: 1.11.1\n\nOS: CentOS7.1\n\nGateway: 172.16.16.1\n\nHost network IP range: 172.16.20.54/20 - 172.16.20.58/20\nBuild the project and put it at /usr/bin/docker-ipam-plugin  \nEtcd cluster: http://172.16.20.53:2379,http://172.16.20.54:2379,http://172.16.20.55:2379\n\n1.  Assign host IP \n      docker-ipam-plugin --cluster-store=http://172.16.20.53:2379，http://172.16.20.54:2379，http://172.16.20.55:2379 host-range --ip-start 172.16.20.54/20 --ip-end 172.16.20.58/20 --gateway 172.16.16.1\n\n2.  Assign docker IP\n      docker-ipam-plugin --cluster-store=http://172.16.20.53:2379，http://172.16.20.54:2379，http://172.16.20.55:2379 ip-range --ip-start 172.16.21.100/20 --ip-end 172.16.21.200/20\n\n3.  Run docker ipam plugin\n      nohup docker-ipam-plugin --debug=true --cluster-store=http://172.16.20.53:2379,http://172.16.20.54:2379,http://172.16.20.55:2379 server 2\u003e\u00261 \u003e\u003e /var/log/docker-ipam-plugin.log \u0026\n\n4.  Create custom network\n      docker-ipam-plugin --cluster-store=http://172.16.20.53:2379，http://172.16.20.54:2379，http://172.16.20.55:2379 create-network --ip 172.16.20.54\n\n#### Info\n\n- Usage: docker-ipam-plugin --help\n\n\n- cluster-store defualt http://127.0.0.1:2379\n\n\n- Open debug mode for more information \n\n\n- Docker will choose a random IP address from etcd IP range if you run a docker contianer wihtout assign a specific IP.\n\n#### Reference\nhttps://docs.docker.com/engine/extend/plugins\nhttps://github.com/docker/libnetwork/blob/master/docs/ipam.md\nhttps://github.com/docker/go-plugins-helpers\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frootsongjc%2Fdocker-ipam-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frootsongjc%2Fdocker-ipam-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frootsongjc%2Fdocker-ipam-plugin/lists"}