{"id":18358619,"url":"https://github.com/david-yu/vagrant-nfs","last_synced_at":"2025-04-10T02:39:38.796Z","repository":{"id":86140177,"uuid":"83368425","full_name":"david-yu/vagrant-nfs","owner":"david-yu","description":"Vagrantfile Virtualbox setup for Docker EE Standard and Advanced with Docker Trusted Registry configued for NFS","archived":false,"fork":false,"pushed_at":"2017-03-28T23:33:54.000Z","size":27,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-15T18:36:30.306Z","etag":null,"topics":["ddc","nfs"],"latest_commit_sha":null,"homepage":"","language":"Shell","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/david-yu.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":"2017-02-27T23:39:27.000Z","updated_at":"2022-01-11T04:50:05.000Z","dependencies_parsed_at":null,"dependency_job_id":"d549b5f2-2606-4835-bb6d-3fa80adae619","html_url":"https://github.com/david-yu/vagrant-nfs","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/david-yu%2Fvagrant-nfs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/david-yu%2Fvagrant-nfs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/david-yu%2Fvagrant-nfs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/david-yu%2Fvagrant-nfs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/david-yu","download_url":"https://codeload.github.com/david-yu/vagrant-nfs/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248144796,"owners_count":21054990,"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":["ddc","nfs"],"created_at":"2024-11-05T22:18:45.808Z","updated_at":"2025-04-10T02:39:38.767Z","avatar_url":"https://github.com/david-yu.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"Vagrant Virtualbox setup for Docker EE 17.03, UCP 2.1.1 and DTR 2.2.3 with NFS\n========================\n\nThe following set of instructions helps Docker DataCenter across multiple vms with static ip addresses:\n\n* NFS Server node - `nfs-server-node` on 172.28.128.20\n* HAProxy node and Private DNS server - `haproxy-node` on 172.28.128.21\n* Manager node - UCP controller `ucp-nfs-node1` on 172.28.128.22\n* Worker node - DTR replica, `dtr-nfs-node1` on 172.28.128.23\n* Worker node - DTR replica `dtr-nfs-node2` on 172.28.128.24\n* Worker node - DTR replica, `dtr-nfs-node3` on 172.28.128.25\n\nUCP traffic is proxied from `https://ucp.local` to 172.28.128.22. DTR traffic is load balanced from `https://dtr.local` to 172.28.128.23, 172.28.128.24, and 172.28.128.25.\n\n## Download vagrant from Vagrant website\n\n```\nhttps://www.vagrantup.com/downloads.html\n```\n\n## Install Virtual Box\n\n```\nhttps://www.virtualbox.org/wiki/Downloads\n```\n\n## Download Xenial box\n```\nvagrant init ubuntu/xenial64\n```\n\n## Install Vagrant Plugins\n```\nvagrant plugin install vagrant-hostsupdater\nvagrant plugin install vagrant-multiprovider-snap\n```\n\n## Create files in project to store environment variables with custom values for use by Vagrant\n```\nhub_username\nhub_password\nucp_password\nee_url\n```\n\n## Point ucp.local and dtr.local to HAProxy ip address\n```\n# edit /etc/hosts on macOS\nsudo vi /private/etc/hosts\n# add this line\n172.28.128.21   dtr.local ucp.local\n# save hosts config\nsudo killall -HUP mDNSResponder\n```\n\n## Bring up/Resume NFS, UCP and DTR nodes\nMake sure to bring up `nfs-server-node` prior to bringing up the DTR nodes, since DTR relies on NFS for registry image storage.\n```\nvagrant up nfs-server-node haproxy-node ucp-nfs-node1 dtr-nfs-node1 dtr-nfs-node2 dtr-nfs-node3\n```\n\n## Push sample image to DTR to test NFS\n\nPull redis image, tag it, and then push to DTR\n```\n$ docker pull redis\nUsing default tag: latest\nlatest: Pulling from library/redis\n693502eb7dfb: Pull complete\n338a71333959: Pull complete\n83f12ff60ff1: Pull complete\n4b7726832aec: Pull complete\n19a7e34366a6: Pull complete\n622732cddc34: Pull complete\n3b281f2bcae3: Pull complete\nDigest: sha256:4c8fb09e8d634ab823b1c125e64f0e1ceaf216025aa38283ea1b42997f1e8059\nStatus: Downloaded newer image for redis:latest\n$ docker tag redis 172.28.128.22/engineering/redis\n$ docker login 172.28.128.22 -u admin\nLogin Succeeded\n$ docker push 172.28.128.22/engineering/redis\nThe push refers to a repository [172.28.128.22/engineering/redis]\n450fce7b3b76: Pushed\n9444719e7966: Pushed\n61178e9e9bce: Pushed\nc235d5b4caa3: Pushed\n307248831aca: Pushed\n387483b2c715: Pushed\na2ae92ffcd29: Pushed\nlatest: digest: sha256:dc458aa3ba58a59532663abdc199c84c1d3bbd7379bf91e6b4b9ed61b34a0bb4 size: 1783\n```\n\nCheck that repository exists\n\n```\n$ vagrant ssh nfs-server-node\n$ ls -alF /var/nfs/dtr/docker/registry/v2/repositories/engineering/redis/\ntotal 20\ndrwxr-xr-x 5 nobody nogroup 4096 Mar  2 21:54 ./\ndrwxr-xr-x 3 nobody nogroup 4096 Mar  2 21:54 ../\ndrwxr-xr-x 3 nobody nogroup 4096 Mar  2 21:54 _layers/\ndrwxr-xr-x 4 nobody nogroup 4096 Mar  2 21:54 _manifests/\ndrwxr-xr-x 2 nobody nogroup 4096 Mar  2 21:54 _uploads/\n```\n\n## Pause UCP, DTR, and NFS nodes\n\n```\nvagrant suspend dtr-nfs-node3 dtr-nfs-node2 dtr-nfs-node1 ucp-nfs-node1 haproxy-node nfs-server-node\n```\n\n## Resume UCP, DTR, and NFS nodes\n\n```\nvagrant resume nfs-server-node haproxy-node ucp-nfs-node1 dtr-nfs-node1 dtr-nfs-node2 dtr-nfs-node3\n```\n\n## Destroy UCP, DTR, and NFS nodes\n\n```\nvagrant destroy dtr-nfs-node3 dtr-nfs-node2 dtr-nfs-node1 ucp-nfs-node1 haproxy-node nfs-server-node\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavid-yu%2Fvagrant-nfs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdavid-yu%2Fvagrant-nfs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavid-yu%2Fvagrant-nfs/lists"}