{"id":20411916,"url":"https://github.com/sixeyed/petshopvnext","last_synced_at":"2025-04-12T16:26:16.568Z","repository":{"id":65254569,"uuid":"155621078","full_name":"sixeyed/petshopvnext","owner":"sixeyed","description":null,"archived":false,"fork":false,"pushed_at":"2021-04-22T10:07:21.000Z","size":3367,"stargazers_count":6,"open_issues_count":0,"forks_count":10,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-26T10:52:16.625Z","etag":null,"topics":["docker","netfx","petshop"],"latest_commit_sha":null,"homepage":null,"language":"C#","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/sixeyed.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}},"created_at":"2018-10-31T20:45:01.000Z","updated_at":"2024-11-09T08:55:51.000Z","dependencies_parsed_at":"2023-01-16T15:00:32.327Z","dependency_job_id":null,"html_url":"https://github.com/sixeyed/petshopvnext","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/sixeyed%2Fpetshopvnext","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sixeyed%2Fpetshopvnext/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sixeyed%2Fpetshopvnext/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sixeyed%2Fpetshopvnext/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sixeyed","download_url":"https://codeload.github.com/sixeyed/petshopvnext/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248595615,"owners_count":21130553,"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","netfx","petshop"],"created_at":"2024-11-15T05:54:22.826Z","updated_at":"2025-04-12T16:26:16.543Z","avatar_url":"https://github.com/sixeyed.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# .NET Pet Shop - Running in Docker\n\nThis is the `5.0` version of the Pet Shop, which was updated to .NET 3.5 in AD 2008.\n\nIn this repo there is a [Dockerfile for the web application](docker/web/Dockerfile) and a [Dockerfile for the SQL Server database](docker/db/Dockerfile). You can run this 10-year old app in Windows Docker containers.\n\n\u003e There's just one code change from the original 2008 version, which is to add an [alternative order processor](src/PetShop/BLL/OrderSynchronousWithoutTransactions.cs) that doesn't use transactions. This is only needed when you're running the database in a container, because SQL Server containers don't support MSDTC.\n\n## Usage\n\nYou can compile and run the whole app in containers. You don't need SQL Server or .NET 3.5 installed, you just need [Docker Desktop](https://www.docker.com/products/docker-desktop) on Windows 10 with update 1809, or [Docker Enterprise](https://store.docker.com/editions/enterprise/docker-ee-server-windows) on Windows Server 2019.\n\nStart by cloning this repo and switching to the directory:\n\n```\ngit clone https://github.com/sixeyed/petshopvnext.git\n\ncd petshopvnext\n```\n\nThen use [Docker Compose](https://docs.docker.com/compose/overview/) to build the app (you can skip this step and just use the public images on Docker Hub):\n\n```\ndocker-compose `\n  -f .\\app\\docker-compose.yml `\n  -f .\\app\\docker-compose-build.yml `\n  build\n```\n\nThen start the app with Compose:\n\n```\ndocker-compose -f .\\app\\docker-compose.yml up -d\n```\n\nBrowse to http://localhost:8010 to see the app:\n\n\n![.NET PetShop running on Windows Docker containers](petshop.png)\n\nEverything works, including the checkout function and the RSS feeds (which are running in a WCF service).\n\n### Windows Server 2016\n\nThe app also runs in Docker on Windows Server 2016, with some Compose file overrides.\n\nBuild:\n\n```\ndocker-compose `\n  -f .\\app\\docker-compose.yml `\n  -f .\\app\\docker-compose-build-2016.yml `\n  build\n```\n\nRun:\n\n```\ndocker-compose `\n  -f .\\app\\docker-compose.yml `\n  -f .\\app\\docker-compose-2016.yml `\n  up -d\n```\n\nOn Windows Server 2016 you'll need to get the IP address of the container and browse to it:\n\n```\ndocker container inspect --format '{{ .NetworkSettings.Networks.nat.IPAddress }}' app_petshop-web_1\n```\n\n### Credits\n\nOriginal source code from [petshopvnext on the CodePlex archive](https://archive.codeplex.com/?p=petshopvnext).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsixeyed%2Fpetshopvnext","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsixeyed%2Fpetshopvnext","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsixeyed%2Fpetshopvnext/lists"}