While designed for web development, the PHP scripting language also provides general-purpose use. Yes, docker start -a container-name is the command you can use to start a container that has been created with docker run. Note the -a flag which is shorthand for -attach. This way the container is started in the foreground, just like when you use docker run (which runs a container in the foreground by default).
- Download Docker Container Manually Using
- Download Docker Container Manually Download
- Download Docker Container Manually Free
- Download Docker Container Manually Windows 10
With version 0.9.0 and later, the Docker extension provides more support for debugging applications within Docker containers, such as scaffolding launch.json
configurations for attaching a debugger to applications running within a container.
The Docker extension provides a docker
debug configuration provider that manages how VS Code will launch an application and/or attach a debugger to the application in a running Docker container. This provider is configured via entries within launch.json
, with configuration being specific to each application platform supported by the provider.
The Docker extension currently supports debugging Node.js, Python, and .NET Core applications within Docker containers.
Download Docker Container Manually Using
Requirements
Scaffolding or pasting a launch configuration into launch.json
is not sufficient to build and debug a Docker container. To successfully run a Docker launch configuration, you must have:
- A Dockerfile.
docker-build
anddocker-run
tasks intasks.json
.- A launch configuration that invokes these tasks.
We recommend using the Docker: Add Docker Files to Workspace... command to create these items, if none of these assets already exist. If you already have a functional Dockerfile, we recommend using the Docker: Initialize for Docker debugging command to scaffold a launch configuration and Docker-related tasks.
Node.js
More information about debugging Node.js applications within Docker containers can be found at Debug Node.js within a container.
Example launch.json
configuration for debugging a Node.js application:
Python
More information about debugging Python applications within Docker containers can be found at Debug Python within a container.
Example launch.json
configuration for debugging a Python application:
.NET Core
More information about debugging .NET Core applications within Docker containers can be found in Debug .NET Core within Docker containers.
The previous (Preview) .NET Core Docker debugging support (utilizing 'type': 'docker-coreclr'
instead of the current preview's 'type': 'docker'
) is being deprecated. You can still find documentation on that support at Debug .NET Core - Deprecated.
Example launch.json
configuration for debugging a .NET Core application:
Configuration reference
Property | Description |
---|---|
containerName | Name of the container used for debugging. |
dockerServerReadyAction | Options for launching a browser to the Docker container. Similar to serverReadyAction, but replaces container ports with host ports. |
removeContainerAfterDebug | Whether to remove the debug container after debugging. |
platform | The target platform for the application. Can be netCore or node . |
netCore | Options for debugging .NET Core projects in Docker. |
node | Options for debugging Node.js projects in Docker. |
python | Options for debugging Python projects in Docker. |
dockerServerReadyAction object properties
Download Docker Container Manually Download
Property | Description |
---|---|
action | The action to take when the pattern is found. Can be debugWithChrome or openExternally . |
containerName | The container name to match the host port. |
pattern | The regex pattern to look for in Debug console output. |
uriFormat | The URI format to launch. |
webRoot | The root folder from which web pages are served. Used only when action is set to debugWithChrome . |
Download Docker Container Manually Free
node object properties
These properties are the same as those described in the VS Code documentation for attaching a debugger to Node.js applications. All properties passed in the node
object will be passed on to the Node.js debug adaptor, even if not specifically listed below.
Download Docker Container Manually Windows 10
Property | Description | Default |
---|---|---|
port | Optional. The debug port to use. | 9229 |
address | Optional. TCP/IP address of the debug port. | |
sourceMaps | Optional. Enable source maps by setting this to true . | |
outFiles | Optional. Array of glob patterns for locating generated JavaScript files. | |
autoAttachChildProcesses | Optional. Track all subprocesses of debuggee and automatically attach to those that are launched in debug mode. | |
timeout | Optional. When restarting a session, give up after this number of milliseconds. | |
stopOnEntry | Optional. Break immediately when the program launches. | |
localRoot | Optional. VS Code's root directory. | The root workspace folder. |
remoteRoot | Optional. Node's root directory within the Docker container. | /usr/src/app |
smartStep | Optional. Try to automatically step over code that doesn't map to source files. | |
skipFiles | Optional. Automatically skip files covered by these glob patterns. | |
trace | Optional. Enable diagnostic output. |
The Docker extension provides a docker
debug configuration provider that manages how VS Code will launch an application and/or attach a debugger to the application in a running Docker container. This provider is configured via entries within launch.json
, with configuration being specific to each application platform supported by the provider.
The Docker extension currently supports debugging Node.js, Python, and .NET Core applications within Docker containers.
Download Docker Container Manually Using
Requirements
Scaffolding or pasting a launch configuration into launch.json
is not sufficient to build and debug a Docker container. To successfully run a Docker launch configuration, you must have:
- A Dockerfile.
docker-build
anddocker-run
tasks intasks.json
.- A launch configuration that invokes these tasks.
We recommend using the Docker: Add Docker Files to Workspace... command to create these items, if none of these assets already exist. If you already have a functional Dockerfile, we recommend using the Docker: Initialize for Docker debugging command to scaffold a launch configuration and Docker-related tasks.
Node.js
More information about debugging Node.js applications within Docker containers can be found at Debug Node.js within a container.
Example launch.json
configuration for debugging a Node.js application:
Python
More information about debugging Python applications within Docker containers can be found at Debug Python within a container.
Example launch.json
configuration for debugging a Python application:
.NET Core
More information about debugging .NET Core applications within Docker containers can be found in Debug .NET Core within Docker containers.
The previous (Preview) .NET Core Docker debugging support (utilizing 'type': 'docker-coreclr'
instead of the current preview's 'type': 'docker'
) is being deprecated. You can still find documentation on that support at Debug .NET Core - Deprecated.
Example launch.json
configuration for debugging a .NET Core application:
Configuration reference
Property | Description |
---|---|
containerName | Name of the container used for debugging. |
dockerServerReadyAction | Options for launching a browser to the Docker container. Similar to serverReadyAction, but replaces container ports with host ports. |
removeContainerAfterDebug | Whether to remove the debug container after debugging. |
platform | The target platform for the application. Can be netCore or node . |
netCore | Options for debugging .NET Core projects in Docker. |
node | Options for debugging Node.js projects in Docker. |
python | Options for debugging Python projects in Docker. |
dockerServerReadyAction object properties
Download Docker Container Manually Download
Property | Description |
---|---|
action | The action to take when the pattern is found. Can be debugWithChrome or openExternally . |
containerName | The container name to match the host port. |
pattern | The regex pattern to look for in Debug console output. |
uriFormat | The URI format to launch. |
webRoot | The root folder from which web pages are served. Used only when action is set to debugWithChrome . |
Download Docker Container Manually Free
node object properties
These properties are the same as those described in the VS Code documentation for attaching a debugger to Node.js applications. All properties passed in the node
object will be passed on to the Node.js debug adaptor, even if not specifically listed below.
Download Docker Container Manually Windows 10
Property | Description | Default |
---|---|---|
port | Optional. The debug port to use. | 9229 |
address | Optional. TCP/IP address of the debug port. | |
sourceMaps | Optional. Enable source maps by setting this to true . | |
outFiles | Optional. Array of glob patterns for locating generated JavaScript files. | |
autoAttachChildProcesses | Optional. Track all subprocesses of debuggee and automatically attach to those that are launched in debug mode. | |
timeout | Optional. When restarting a session, give up after this number of milliseconds. | |
stopOnEntry | Optional. Break immediately when the program launches. | |
localRoot | Optional. VS Code's root directory. | The root workspace folder. |
remoteRoot | Optional. Node's root directory within the Docker container. | /usr/src/app |
smartStep | Optional. Try to automatically step over code that doesn't map to source files. | |
skipFiles | Optional. Automatically skip files covered by these glob patterns. | |
trace | Optional. Enable diagnostic output. |
python object properties
Property | Description | Default |
---|---|---|
host | The host for remote debugging. | |
port | The port for remote debugging. | 5678 |
pathMappings | Maps the project path between local machine and remote host. | |
projectType | Type of Python app. | |
justMyCode | Debug only user-written code. | |
django | Django debugging. | false |
jinja | Jinja template debugging (such as Flask). | false |
netCore object properties
Properties passed in the netCore
object are generally passed on to the .NET Core debug adaptor, even if not specifically listed below. The complete list of debugger properties is in the OmniSharp VS Code extension documentation.
Property | Description |
---|---|
appProject | The .NET Core project (.csproj, .fsproj, etc.) to debug. |
Next steps
Read on to learn more about: