- When changing contexts, UI is more responsive and clear. #1965
- .NET 5 images are published in a new repository. #1973
Requires Visual Studio Code 1.44 or higher.
- Semantic highlighting support. #1840
- Help and Feedback pane in explorer view. #1893
- Docker Context pane in explorer view. #1844
- Images can be pulled from the images list. #1313
- Containers can be grouped by docker-compose project name. #215, #1846
- A new setting,
docker.dockerodeOptions
, allowing any options to be provided to Dockerode. #1459
- Any file named
Dockerfile.*
is now recognized as a Dockerfile. #1907
- Custom file names for docker-compose files can be defined. #102
- The experience for pushing Docker images has been revamped. #351, #1539, #1595
- Extensibility model for registry providers has been improved. #147
- Generic DockerV2 registries using OAuth can now be connected to in many cases. #869
- Docker contexts can now be changed, inspected, and removed from the Command Palette. #1784
- If the Docker context is changed from outside VSCode, the changes will be picked up in VSCode within 20 seconds by default, configurable with the
docker.contextRefreshInterval
setting. If the Docker context is changed within VSCode it is picked up immediately. #1790
- Improved extension activation performance. #1804
- Images are deleted by name instead of ID, which resolves several issues. #1529
- Error "Task to execute is undefined" when doing Docker build. #1647
- .NET Core scaffolding will use assembly name in ENTRYPOINT #1583
- The
docker.defaultRegistryPath
setting has been removed, as part of the new image push experience.
- Debugging support for Python #1255
- Improved support for common Python frameworks (e.g. Django, Flask, etc.) #1546
- Multi-select support in Docker explorer, including multi-select for some commands #331
- Ability to right-click and re-enter incorrect registry credentials #1122
- Most command lines can be fully customized #1596 (and more)
- docker-compose support for .NET Core, including attach config #1543
- Changes to selection logic of
docker-compose.yml
files #370 #379 #569
- Better error handling in command execution #1398, #1528
- Place Dockerfile next to project file for .NET projects #592
- Use container name in shell label #1463
- Auto Refresh Azure Registry node after installing Azure Account extension #1461
- Show only the applicable container groups in container command execution using command palette #1430
Copy Full Tag
command added to image context menu and command palette #1431- pull latest image during docker build #1409
- Port validation during scaffolding #1510
- Use the default registry value in
Docker push
#1478 - Various other fixes and improvements: https://github.com/microsoft/vscode-docker/issues?q=is%3Aissue+milestone%3A0.10.0+is%3Aclosed
- Task-based debugging for .NET Core and Node.js: #1242
- These tasks can also be used for generic
docker build
anddocker run
scenarios
- These tasks can also be used for generic
- Support for connecting to remote Docker daemons over SSH: #646
- When using Docker Desktop WSL 2, the WSL daemon or local daemon will be selected automatically, based on
docker context
#1199 Open in Browser
command added to container context menus #1429
docker.importCertificates
has been removed; the functionality to trust system certificates is now built in to VS Code itself (enabled by default): microsoft/vscode#52880
- Blazor apps using static web assets were not able to be debugged #1275
- Various other fixes and improvements: https://github.com/microsoft/vscode-docker/milestone/13?closed=1
- More pattern matches for Dockerfiles (Dockerfile.debug, Dockerfile.dev, Dockerfile.develop, Dockerfile.prod)
- Button to create simple networks #1322
- Survey prompt for some active users
- Telemetry event for when Dockerfiles are edited using Docker extension features
- Will not refresh Explorer window if VSCode is not in focus #1351
- Creating and deploying to a webapp with name containing hyphen (for eg. "abc-xyz") breaks webhook creation. #1270
- Changed default behavior in VS Code remote environments to run as a "workspace" extension instead of a "UI" extension. See #954 for more information
- Added support to debug ASP.NET Core web apps with SSL enabled
- Added support to debug .NET Core apps with user secrets
- Updated icons to match latest VS Code guidelines
- Automatically create a webhook when deploying an image to Azure App Service
- Revamped Docker Explorer
- Containers, images, and registries now have their own explorer which can be hid, resized, or reordered
- Added per-explorer settings for display format, grouping, and sorting
- Modified icons to respect theme
- Moved connection errors and troubleshooting links directly into the explorer instead of as a separate notification
- Added support for "Load more..." if not all items are retrieved in the first batch
- Local explorers poll less often (only if the explorer is open)
- Added per-explorer prune command (system prune is still available from the command palette)
- Ensured all desctructive actions have a confirmation and are grouped separately in context menus
- Generalized registries view to better support more providers
- All registries regardless of provider now support viewing repos/tags, pulling images, and setting a registry as default
- Added docs for contributing a new registry provider
- Multiple registry providers of the same type can now be connected (e.g. multiple Docker Hub accounts)
- Added support for GitLab (not including self-hosted)
- Update to version 0.0.21 of the language server (thanks @rcjsuen)
- Improves linting checks so that there are fewer false positives
- Fixes variable resolution to ensure that only alphanumeric and underscore characters are considered
- Revamped command palette support
- Commands are grouped by explorer
- Commands respect "Group By" setting when prompting for items
- Leveraged multi-select quick pick to execute a command for multiple items at a time
- Revamped Azure support
- Registries are grouped by subscription, with option to filter by subscription
- Tasks are shown in the explorer instead of a webview
- Task commands and "Deploy to App Service" are supported from the command palette
- Creating a registry or web app now supports async validation, the back button, and related-name recommendations
- View all namespaces for your Docker Hub account, not just username
- Added explorer for Volumes, including prune, remove, and inspect commands
- Added explorer for Networks (thanks @stuartthomson), including prune, remove, and inspect commands
- Added VS Code settings
docker.certPath
,docker.tlsVerify
, anddocker.machineName
which directly map to environment variablesDOCKER_CERT_PATH
,DOCKER_TLS_VERIFY
, andDOCKER_MACHINE_NAME
- Modified
docker.host
setting to actually be equivalent toDOCKER_HOST
environment variable - Respect
file.associations
setting when prompting for a Dockerfile - Better handle expired credentials for Docker Hub
docker.truncateLongRegistryPaths
is now respected for containers as well as images
- In order to support more providers and still keep the registries view clean, you must now explicitly connect a provider. Previously signed-in providers will need to be re-connected
- Azure Tasks no longer support custom filtering. This functionality is still available in the portal
- Removed
docker.groupImagesBy
setting in favor ofdocker.images.groupBy
(based on a new pattern for all explorers) - Removed
docker.showExplorer
setting. Instead, right click on the explorer title to hide. - Removed
docker.promptOnSystemPrune
setting as a part of making all destructive actions consistent
- Mitigate error "command 'vscode-docker.images.selectGroupBy' already exists" #1008
- Changed publisher from "PeterJausovec" to "ms-azuretools"
- Handle opening resources to use native vscode APIs
- Running the extension in older versions of VS Code
- Report an issue opening a blank webpage due to a large stack frame
- Use appropriate nuget fallback volume mount for dotnet debugging - #793
- Ensure debugger directory exists - #897
networkAlias
option to Docker run configuration #890
- viewLogs are not readable in dark theme #851
- Group By options for Images node #603
- Add debugging and dockerfile creation for fsharp dotnet core projects (Thanks, @gdziadkiewicz) #795
- Add support for Redstone 5 (Thanks, @tfenster) #804
- Allow more customization of Docker run configuration (thanks @ismael-soriano)#690
- Add
network
option to Docker run configuration #748
- Use colorblind-friendly icons #811
- Don't ask to save registry path if no workspace #824
- Two "Docker" tabs in output view #715
- Error when deploying images to Azure App Service for a private registry with no authentication #550
- Improve Docker Hub login experience #429, #375, #817
- Resolve .NET Core debugging on Windows (Thanks, @gdziadkiewicz) #798
- Earlier validation of Docker .NET Core configuration #747
- [.NET Core Debugging] Add support for Alpine images #771
- Support for ${workspaceFolder} in dockerRun/Volumes localPath and containerPath #785
- Cannot read property 'useCertificateStore' of undefined #735
- Operation cancelled error shows up when any user action is cancelled #718
- Error showing logs if there are no running containers #739
- Wrong DOCKER_HOST config when using docker.host configuration (thanks @ntcong) #649
- Extension fails to initialize in VS Code Insiders 1.31 #733
- Require vscode 1.26.0 because it's required by the language client version 5.0.0 #729
- Significantly improved startup and installation performance by packaging with webpack
- Support for adding C++ Dockerfile (thanks @robotdad) #644
- Fix null ref showing connection error during prune #653
- Sporadic failure pushing images to ACR #666
- Unhandled error if you cancel saving Azure log #639
- Save Azure log dialog shows "log..log" as the filename extension #640
- ACR pull image issue #648
- ACR Build for Dockerfile fails through extension #650
- "Run ACR Task File" from command palette with no .yml file in workspace throws error #635
- Add prerequisite check for missing Dockerfile #687
- Make the launch.json generation leaner (merci vielmal @isidorn) #618
- Added support for self-signed certificates and reading from Windows/Mac certificate stores (currently opt-in) #613, #602, #483
- Use a different icon for unhealthy containers (thanks @grhm) #615
- 8.9-alpine -> 10.13-alpine #624
- Adds preview support for debugging .NET Core web applications running in Linux Docker containers.
- Azure Container Registry improvements:
- Automatic login for pulls (even if Admin user not enabled)
- Explore and build tasks
- Display and filter logs
- Create build from Dockerfile
- Run ACR task file (.yml)
- Delete or untag images
- Don't output EXPOSE if empty port specified #490
- When attaching shell, use bash if available #505
- Fix truncation of long image and container registry paths in the Explorer #527
- Performance: Delay loading of Azure Account extension until after activation (part of #535). Note: much bigger performance improvements coming in next version!
- Specify .dockerignore language to receive syntax highlighting and toggling of comments (thanks @remcohaszing) #564
- Error while generating Dockerfile for 'other' #504
- Add Docker Files to Workspace
- Support multiple versions of .NET Core (ASP .NET and Console apps)
- Some private registries returning 404 error #471
- You shouldn't have to reload vscode in order for changes to docker.attachShellCommand.{linux,windows}Container to take effect #463
- Engineering improvements (lint, tests, work toward strict null checking, etc.)
- Add preview support for connecting to private registries
- Improved workflow for Tag Image:
- User will be asked on the first usage of Tag Image with a registry to save it to the
docker.defaultRegistryPath
setting - User will be prompted to tag an image if attempting to push an image with no registry or username
- New
Set as Default Registry Path
menu on registries - When default registry path is prefixed to the image name, it is selected for easy removal or editing
- User will be asked on the first usage of Tag Image with a registry to save it to the
- Improved workflow for Build Image:
- Previous image name will be remembered
- Azure container registries can now be browsed without having "Admin user" turned on. However, deploying to Azure app service currently still requires it, and you still need to log in to Azure in docker #359
- A new API has been added for other extensions to be able to control the "Add Docker Files to Workspace" functionality.
- You can now create and delete Azure (ACR) registries and delete Azure repositories and images directly from the extension.
- Images list does not refresh after tagging an image #371
- Don't prompt for Dockerfile if only one in project (command palette->Build Image) #377
- Docker Hub repos are not alphabetized consistently #410
- Obsolete usage of
go-wrapper
removed from Go Dockerfile (thanks @korservick) - Error when listing Azure Registries when some of the accounts do not have appropriate permissions (thanks @estebanreyl) #336
- UDP exposed ports not launching correctly #284
- Adopt version 0.0.19 of the language server (thanks @rcjsuen) #392. This fix includes:
- Folding support for comments
- Fix for #338 Multi-line LABEL directives highlight as errors
- Support for handling SCTP ports in EXPOSE instructions per Docker CE 18.03
- Optional warning/error for WORKDIR instructions that are not absolute paths (to try to enforce good practices per the official guidelines and recommendations document for Dockerfiles
- New
docker.languageserver.diagnostics.instructionWorkdirRelative
configuration setting
- Output title corrected #428
- The
docker.defaultRegistry
setting is now obsolete. Instead of using a combination ofdocker.defaultRegistry
anddocker.defaultRegistryPath
, now simply usedocker.defaultRegistryPath
. This will be suggested automatically the first time the extension is run.
- Update .NET Core Dockerfile generation #264. Per the .NET team, don't generate
docker-compose
files for .NET Core - Update to version 0.0.18 of the language server (thanks @rcjsuen) #291. This includes fixes for:
- Update Linux post-install link in README.md (thanks @gregvanl) #275
- Add docker.host setting as alternative for setting DOCKER_HOST environment variable (thanks @tfenster) #304
- Basic Dockerfile for Ruby (thanks @MiguelSavignano) #276
- Azure container registries bugfixes and enhancements (thanks @estebanreyl, @julialieberman) #299
- Fixes #266 to fix error when expanding empty container registry
- Improves Azure explorer expansion speed by parallelizing network calls
- Alphabetically organized registries listed from azure and organized tags by date of creation
- Add "Docker: Compose Restart" command #316
- Add link to extension docs and Azure publish tutorial to readme
- Fix #295 to provide proper error handling if project file can't be found adding Dockerfile to project
- Fix #302 so that Compose Up/Down work correctly from the text editor context menu
- Clarify README documentation on DOCKER_HOST to note that DOCKER_CER_PATH may be required for TLS (thanks @mikepatrick) #324
- Engineering improvements (tests and lint fixes)
- Fixes indentation problem with Python docker-compose.yml files (thanks @brettcannon) #242
- Adds support for showing the Docker explorer in a new Activity Bar view
- Adopt v0.0.17 of the language server (thanks @rcjsuen!) #249
- Support generating Java Dockerfiles (thanks @testforstephen) #235
- Support generating Python Dockerfiles (thanks @brettcannon) #219
- Fixes #217 to adopt the usage of ASAR in VS Code
- Support for multi-select of
docker-compose
files and then issuing thecompose up
orcompose down
commands. - Changed the default of
promptOnSystemPrune
setting totrue
, meaning you will get a confirmation when running theSystem Prune
prune command by default. You can change this by settingdocker.promptOnSystemPrune: false
in yoursettings.json
. Thanks to @driskell for PR #213. - Right click commands on
dockerfile
anddocker-compose.yml
files are now enabled based on a regular expression over the file name rather than being hard coded.
- Fixes #189 to provide friendly errors when Docker is not running
- Fixes #200 to provide two new options
dockerComposeBuild
anddockerComposeDetached
control howdocker-compose
is launched - Fixes #208 where an incorrect repository name was being passed to Azure App Services
- Update to
v0.0.13
of the Docker Language Server (thanks @rcjsuen) #198 - Activate on
onDebugInitialConfigurations
instead ofonDebug
to delay loading (thanks @gregvanl) - Thank you to @DovydasNavickas for PR #202 to fix grammatical errors
- Do not show dangling images in explorer (thanks @johnpapa) #175
- Add configuration to prompt on System Prune, fixes #183
- Upgrade to new language server (thanks @rcjsuen) #173
- Adding show logs command to dead containers (thanks @FredrikFolkesson) #178
- Default to Node 8.9 when generating Dockerfile (thanks @johnpapa) #174
- Add
compose up
andcompose down
context menus for files explicitly nameddocker-compose.yml
ordocker-compose.debug.yml
- Browse to the Azure portal context menu, fixes #151
- Add
docker.truncateLongRegistryPaths
anddocker.truncateMaxLength
configuration options enable truncation of long image and container names in the Explorer, fixes #180 - Images in the Explorer now show age (e.g. '22 days ago')
- Update
Dockerfile
forgo
workspaces (thanks @vladbarosan) #194
- Make shell commands configurable (thanks @FredrikFolkesson) #160
- Update usage of Azure Account API to speed up deployment to Azure App Services
- Set CD App Setting when deploying image from Azure Container Registry
- Update
docker-compose.debug.yml
command to include full the URI to the debug port (fix for vscode: 36192) - Filter the subscriptions presented when deploying to Azure based on the Azure Account subscription filter
- Mark as multi-root ready
- Fix debug configuration generation VSCode #37648
- Add
restart
command for containers (thanks @orfevr) #152 - Less aggressive matching for
dockerfile
(thanks @dlech) #155 - Support workspace folders for language server settings (thanks @rcjsuen) #156
- Add config option for docker build path (thanks @nyamakawa) #158
- No longer take a hard dependency on the Azure Account extension.
- Add an automatic refresh option for the explorer (
"docker.explorerRefreshInterval": 1000
) - Add support for Multi-Root Workspaces
- Add support for browsing Docker Hub and Azure Container Registries
- Add support for deploying images from Docker Hub and Azure Container Registries to Azure App Service
docker-compose
now runs detached and always invokes a build (e.g.docker-compose -f docker-compose.yml -d --build
)docker system prune
command no longer prompts for confirmationdocker-compose.debuy.yml
no longer contains a volume mapping- Adopt 0.0.9 release of the Docker Language Server
- Add configuration option (
"docker.showExplorer": false
) to globally turn off or on the Explorer contribution - Prompt for confirmation when running
docker system prune
command, improve icon
- Add
docker inspect
command - Gracefully handle when Docker is not running
- Add Explorer contribution, letting you view Images and Containers in the Explorer viewlet.
- Add
--rm
todocker build
to remove intermediate images - Thanks to @rcjsuen, moved to the Dockerfile Language Server
- Update thirdpartynotices.txt, README.md to reflect changes
- Update snippet syntax to be in accordance with the stricter snippet syntax
- Moved source code to support async/await (important if you want to make PRs!)
- Updated both the
Docker: Run
andDocker: Run Interactive
commands to automatically publish the ports that the specified image exposes - Updated the
Docker: Run
command to run the specified container in the background - Updated the
Docker: Add docker files to workspace
command to generate a.dockerignore
file - Updated the
Docker: Azure CLI
command to fully support runningaz acs
commands
- Support for Docker multi stage build Dockerfiles (syntax, linting)
- Support different variations on naming of
dockerfile
such asdockerfile-development
- Bug fixing
- Support for
.yaml
file extension ondocker-compose
files. - Updated Azure CLI image name, map .azure folder from host file system, fix block running on Windows containers, fix Windows path issues (this didn't make it into
0.0.12
) - Added telemetry to understand which commands developers find useful. This will help us refine which commands we add in the future. We track whether the following commands are executed:
build image
compose up
,compose down
open shell
on running container and whether or not it is a Windows or Linux based containerpush image
(we don't track the image name or the location)remove image
show logs
start container
,start container interactive
start Azure CLI
containerstop container
system prune
tag
(we don't track tag name)- Configure workspace along with the type (e.g. Node or Other)
Please note, you can turn off telemetry reporting for VS Code and all extensions through the "telemetry.enableTelemetry": false setting.
- Removed
MAINTAINER
from templates and linting warnings by upgrading thedockerfile_lint
module (Docker has deprecatedMAINTAINER
in favor ofLABEL
). - Added command to run
docker system prune
, note we use the-f
(force) flag to ignore the confirmation prompt. Docker: Attach Shell
command now supports Windows containers #58.
- Added context menu support to run the Docker Build command on Dockerfile files from the editor or from the explorer.
- Docker logs now uses the -f flag (follow) to continue streaming the logs to terminal.
- Fixed Issue 51, a path problem on Windows.