Git Product home page Git Product logo

generator-docker's Introduction

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

generator-docker's People

Contributors

ncarlsonmsft avatar saurabsa avatar divinebovine avatar peterblazejewicz avatar stevelasker avatar fatihboy avatar dbreshears avatar msftgits avatar stevelas avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.