Yeoman generator for Docker
Clone or download
Pull request Compare This branch is 20 commits behind Microsoft:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
generators/app
images
test
.gitattributes
.gitignore
.yo-rc.json
CONTRIBUTING.md
LICENSE
README.md
jsconfig.json
package.json

README.md

Generator-docker

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?

Collecting usage data

Generator-docker collects anonymized data on the options you selected in the tool to understand and improve the experience. You are given a choice to opt-in or opt-out first time you run the tool. If you opt-in and decide to opt-out later, simply delete the ~/.config/configstore/generator-docker.json file from your machine. However, we really need your feedback, so please help us help you by opting in.

Version History

###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.