René's URL Explorer Experiment


Title: Dockerfile best practices to speed up builds by aidansteele · Pull Request #243 · aspnet/JavaScriptServices · GitHub

Open Graph Title: Dockerfile best practices to speed up builds by aidansteele · Pull Request #243 · aspnet/JavaScriptServices

X Title: Dockerfile best practices to speed up builds by aidansteele · Pull Request #243 · aspnet/JavaScriptServices

Description: I noticed that there was some room for improvement in the Dockerfiles created by the Yeomen generator. There are two parts to it: Run the apt-get commands before any project-specific commands. Copy only project.json before running dotnet restore, then copy the rest before dotnet build. The rationale for both these changes is driven by how Docker caches intermediate images in building from a Dockerfile. I won't duplicate that explanation here, but this means that Node.js won't need to be reinstalled on every code change and project dependencies won't need to be restored unless project.json changes. I hope you find this useful. I wouldn't have been able to get started down the ASP.Net SPA path without the generators, so keep up the great work. EDIT: I would have also added a .dockerignore to the templates, but I'm not at all familiar with Yeomen generators and wasn't sure if it was as simple as dropping it in the right place. It's essentially the same syntax as the .gitignore. We don't want any build artifacts from the Docker host making their way into the Docker container.

Open Graph Description: I noticed that there was some room for improvement in the Dockerfiles created by the Yeomen generator. There are two parts to it: Run the apt-get commands before any project-specific commands. Cop...

X Description: I noticed that there was some room for improvement in the Dockerfiles created by the Yeomen generator. There are two parts to it: Run the apt-get commands before any project-specific commands. Cop...

Opengraph URL: https://github.com/aspnet/JavaScriptServices/pull/243

X: @github

direct link

Domain: patch-diff.githubusercontent.com

route-pattern/:user_id/:repository/pull/:id/checks(.:format)
route-controllerpull_requests
route-actionchecks
fetch-noncev2:dcc0f6e2-8cad-dbb1-248e-ffbdd5c5391a
current-catalog-service-hash87dc3bc62d9b466312751bfd5f889726f4f1337bdff4e8be7da7c93d6c00a25a
request-id888C:25BF4B:2173FBD:2D15743:6972B73E
html-safe-nonce8d1f02c9d276b40494c33a497784c59cd22007de2deb351b0700de44398baefe
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI4ODhDOjI1QkY0QjoyMTczRkJEOjJEMTU3NDM6Njk3MkI3M0UiLCJ2aXNpdG9yX2lkIjoiODM1MDY0NzE0ODA3MTc5NDQ5NCIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9
visitor-hmace558e3ded67286757b73ca0ea30b9edef0577f6fde122b769fed8104c9d84cd0
hovercard-subject-tagpull_request:80007755
github-keyboard-shortcutsrepository,pull-request-list,pull-request-conversation,pull-request-files-changed,checks,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///pull_requests/show/checks
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/aspnet/JavaScriptServices/pull/243/checks
twitter:imagehttps://avatars.githubusercontent.com/u/369053?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/369053?s=400&v=4
og:image:altI noticed that there was some room for improvement in the Dockerfiles created by the Yeomen generator. There are two parts to it: Run the apt-get commands before any project-specific commands. Cop...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
None51c0d0848f5569c6fa2198e9d69bd5f8f94a83c9fa3659e40728e7732afab130
turbo-cache-controlno-preview
go-importgithub.com/aspnet/JavaScriptServices git https://github.com/aspnet/JavaScriptServices.git
octolytics-dimension-user_id6476660
octolytics-dimension-user_loginaspnet
octolytics-dimension-repository_id45365298
octolytics-dimension-repository_nwoaspnet/JavaScriptServices
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id45365298
octolytics-dimension-repository_network_root_nwoaspnet/JavaScriptServices
turbo-body-classeslogged-out env-production page-responsive full-width full-width-p-0
disable-turbofalse
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release10c5e2f2307495b2750073db87e9a5d3356a924f
ui-targetcanary-1
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://patch-diff.githubusercontent.com/aspnet/JavaScriptServices/pull/243/checks#start-of-content
https://patch-diff.githubusercontent.com/
Sign in https://patch-diff.githubusercontent.com/login?return_to=https%3A%2F%2Fgithub.com%2Faspnet%2FJavaScriptServices%2Fpull%2F243%2Fchecks
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub SparkBuild and deploy intelligent appshttps://github.com/features/spark
GitHub ModelsManage and compare promptshttps://github.com/features/models
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
GitHub SponsorsFund open source developershttps://github.com/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/accelerator
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://patch-diff.githubusercontent.com/login?return_to=https%3A%2F%2Fgithub.com%2Faspnet%2FJavaScriptServices%2Fpull%2F243%2Fchecks
Sign up https://patch-diff.githubusercontent.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fpull_requests%2Fshow%2Fchecks&source=header-repo&source_repo=aspnet%2FJavaScriptServices
Reloadhttps://patch-diff.githubusercontent.com/aspnet/JavaScriptServices/pull/243/checks
Reloadhttps://patch-diff.githubusercontent.com/aspnet/JavaScriptServices/pull/243/checks
Reloadhttps://patch-diff.githubusercontent.com/aspnet/JavaScriptServices/pull/243/checks
aspnet https://patch-diff.githubusercontent.com/aspnet
JavaScriptServiceshttps://patch-diff.githubusercontent.com/aspnet/JavaScriptServices
Notifications https://patch-diff.githubusercontent.com/login?return_to=%2Faspnet%2FJavaScriptServices
Fork 517 https://patch-diff.githubusercontent.com/login?return_to=%2Faspnet%2FJavaScriptServices
Star 3k https://patch-diff.githubusercontent.com/login?return_to=%2Faspnet%2FJavaScriptServices
Code https://patch-diff.githubusercontent.com/aspnet/JavaScriptServices
Issues 0 https://patch-diff.githubusercontent.com/aspnet/JavaScriptServices/issues
Pull requests 0 https://patch-diff.githubusercontent.com/aspnet/JavaScriptServices/pulls
Projects 0 https://patch-diff.githubusercontent.com/aspnet/JavaScriptServices/projects
Wiki https://patch-diff.githubusercontent.com/aspnet/JavaScriptServices/wiki
Security 0 https://patch-diff.githubusercontent.com/aspnet/JavaScriptServices/security
Insights https://patch-diff.githubusercontent.com/aspnet/JavaScriptServices/pulse
Code https://patch-diff.githubusercontent.com/aspnet/JavaScriptServices
Issues https://patch-diff.githubusercontent.com/aspnet/JavaScriptServices/issues
Pull requests https://patch-diff.githubusercontent.com/aspnet/JavaScriptServices/pulls
Projects https://patch-diff.githubusercontent.com/aspnet/JavaScriptServices/projects
Wiki https://patch-diff.githubusercontent.com/aspnet/JavaScriptServices/wiki
Security https://patch-diff.githubusercontent.com/aspnet/JavaScriptServices/security
Insights https://patch-diff.githubusercontent.com/aspnet/JavaScriptServices/pulse
aidansteelehttps://patch-diff.githubusercontent.com/aidansteele
aspnet:devhttps://patch-diff.githubusercontent.com/aspnet/JavaScriptServices/tree/dev
aidansteele:devhttps://patch-diff.githubusercontent.com/aidansteele/JavaScriptServices/tree/dev
Conversation 3 https://patch-diff.githubusercontent.com/aspnet/JavaScriptServices/pull/243
Commits 2 https://patch-diff.githubusercontent.com/aspnet/JavaScriptServices/pull/243/commits
Checks 0 https://patch-diff.githubusercontent.com/aspnet/JavaScriptServices/pull/243/checks
Files changed https://patch-diff.githubusercontent.com/aspnet/JavaScriptServices/pull/243/files
Please reload this pagehttps://patch-diff.githubusercontent.com/aspnet/JavaScriptServices/pull/243/checks
Please reload this pagehttps://patch-diff.githubusercontent.com/aspnet/JavaScriptServices/pull/243/checks
Dockerfile best practices to speed up builds https://patch-diff.githubusercontent.com/aspnet/JavaScriptServices/pull/243/checks#top
Please reload this pagehttps://patch-diff.githubusercontent.com/aspnet/JavaScriptServices/pull/243/checks
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.