Skip to content
This repository has been archived by the owner on Oct 12, 2022. It is now read-only.

microsoft/generator-docker

Repository files navigation

Important

The list of tools described below are archived and no longer under development. For the latest versions of the container tooling for Visual Studio and Visual Studio Code, please see Containers Tools in Visual Studio and the Visual Studio Code Docker extension

Generator-docker (archived)

Package version CI Status Downloads

This generator creates a Dockerfile and scripts (dockerTask.sh and dockerTask.ps1) that helps you build and run your project inside of a Docker container. The following project types are currently supported:

  • .NET Core
  • Node.js
  • Go

Quick demo

nodejs-demo

Longer walkthrough video

See the generator in action]

Installing

Prerequisites:

Install the Docker generator:

npm install -g generator-docker

Getting Started

Once yo docker and VS Code are installed, here's the few steps to debug your first app

Node.js

  • From the root of your project, where your server.js file exists, open a bash or powershell window
yo docker
  • Answer the prompts, including your image name
  • Open the file you wish to debug and set a breakpoint
  • From VS Code, open the command palette (Mac: [⌘] + [P], Windows: [CTRL] + [P])
  • Enter: task composeForDebug This will compose your containers using the dockerTask.sh script
  • [F5] to start the node debugger within the container
  • As we use nodemon -L --debug-brk, the debugger will break on the first line of your main file, so that you can debug the initialization of your app

DotNet Core

  • From the root of your project open a bash or powershell window
yo docker
  • Answer the prompts, including your image name
  • Open the file you wish to debug and set a breakpoint
  • [F5] to start the .NET Core debugger within the container

Contributing

See Contributing for guidelines

Q&A

  • Q: Are you building an abstraction layer over docker apis?
    • A: No. These are your scripts. We're simply providing a starting point that docker developers would write themselves. These scripts are based on customers we've been working with.
  • Q: Are you taking feedback?

Version History

###v0.0.36

  • Removed Application Insights telemetry

###v0.0.35

  • Added support for .Net Core Console Apps.
  • Updated Docker for Windows beta address to http://localhost
  • BugFix: Special characters in project names are now ignored.

###v0.0.34

  • Switch to using docker-compose for build.
  • BugFix: Add usage of ASPNETCORE_URLS Environment variable to support urls other than localhost for .NET Core.

###v0.0.33

  • Added support for .Net Core RTM.

###v0.0.32

  • Added integrated debugging using [F5] for both Node.js and .NET Core.
  • Changed to always generate bash and PowerShell scripts to enable cross-platform development.
  • Changed compose file to use the image created by build (introduced a tag to disambiguate debug and release image).
  • Removed usage of docker-machine in favor of defaults for Docker for Windows and Docker for Mac.

###v0.0.31

  • Added support for ASP.Net Core 5 RC2.
  • BigFix: Optimized the creation of the node image to take advantage of caching.

###v0.0.29

  • Fix for issue #34 (Update ASP.NET dockerfile and add support for RC).

###v0.0.27

  • Replaced .CMD file with PowerShell script.
  • Adding .debug and .release compose files.
  • Replaced ADD command with COPY command in dockerfile.

###v0.0.26

  • BugFix: fixing issues with the path on Windows when using volume sharing in Node.js projects.

###v0.0.25

  • BugFix: making sure config is defined before reading a property.
  • BugFix: tracking if users opted-in or out for data collection.

###v0.0.24

  • Docker-compose.yml files are being created now for all project types.

License

See LICENSE for full license text.