- Changed to use Node.js 20, in order to add extension publisher signing. This requires Visual Studio Code 1.92.0 or higher. By @bwateratmsft in #4382
- Fetch arm64 debugger anytime on any arm64 OS by @bwateratmsft in #4319
- Update the language server to 0.13.0 by @rcjsuen in #4343
- Python Dockerfiles will now be scaffolded with the
python:3-slim
tag, so that they do not need to be updated annually. #4234 - Python debugging will now use the
debugpy
debug configuration instead of the now-deprecatedpython
debug configuration. This requires recent versions of the Python and Python Debugger extensions. #4221
- Sovereign clouds such as Azure China and Azure US Government should now work with the connect to Azure Container Registry feature. #4287
- Node.js 18 is now used, requiring at minimum VSCode 1.82.0. #4167
- Fixed some issues with the registries view. #4182, #4192
- Fixed an issue with Dotnet SDK container based debugging. #4199
- For certain registries, the remote image manifest can now be inspected. This has different information from inspecting an image locally. #3996
- An infinite loop condition in the Registries tree has been fixed. #4145
- A rare condition which made generic V2 registries unusuable has been fixed. #4140
- Untagged images can now be run. #4100
- Enhanced registries functionality: #869
- Allows third party providers to contribute to the registries view.
- Added GitHub Container Registry support.
- GitLab Container Registry support will be moved to a separate extension. We will provide a link to install once it's published.
- Resolved issues with opening .NET web apps in browsers built with .NET SDK containers. #4006
- Fixed several Dockerfile language server issues. #4056, #4054, #4051, #4012
- Updated .NET Dockerfile scaffolding to utilize the latest .NET 8 image names. #4015
- Added support for multiple .dockerignore file naming conventions specific to language modes. #4059
- Integrated the container client package. #3982
- Enhanced debugging experience on arm64 machines. #4040
- Added support for debugging .NET projects with .NET SDK container build. #3808
- Introduced optional status bar item displaying the current Docker context. #3690
- Enabled customization of entry point for docker run tasks. #3831
- Updated Dockerfile language server to ignore empty continuation lines in COPY instructions and resolve an infinite loop caused by quotes in comments for the semantic highlighter. #3576, #3836
- Resolved the failure to build Windows containers in the Build image command. #3915
- Fixed the issue where .NET Debugging with Docker Compose failed to hit breakpoints. #3912
- Fixed a potential security issue involving Markdown tooltips for containers. #3983
- The extension was not activating when a Dockerfile was opened. #3928
- Support has been added for removing image / container group(s). #3492
- Support has been added for
--platform
flag in docker-build task. #3870 - Support has been added for grouping containers by custom label. #3837
- Compose start / stop options no longer show when Docker is not in compose group mode. #3495
- Terminal output is improved when debugging .NET projects. #3691
- Log streaming is improved by resembling actual streaming. #3616
- The slower loading time for containers has been improved by adding the
--size=false
flag. #3865
- Support has been added for deploying a container image from an image registry (Azure Container Registry, Docker Hub, etc.) to Azure Container Apps. This feature also requires the Azure Container Apps extension. #3535
- Some more advanced diagnostic logging is available in the Output window, by using the command "Developer: Set Log Level...", choosing Docker, and changing the log level to "Debug" or "Trace". #3809
- Fixed a longstanding issue with debugging some Python apps when workspaces were used (as opposed to workspace folders). #3641
- By default, Python apps will now be scaffolded with Python 3.10 base images (up from Python 3.8). #3736
- Old versions of Docker Engine should no longer show "Invalid JSON" errors in the container view. #3724
- Container file ownership and permissions were being overwritten when the file was saved. #3740
- If the
docker-run
task emitted a warning or error, debugging would not start, instead just spinning forever. #3751 - If an image name contained a registry that was just a hostname and port, parsing would fail. #3752
- If an older version of Docker Engine / Docker CE was present, the containers view would not work. #3724
- Image tag format was excessively verbose for common images. #3734
- On Windows, if PowerShell profiles were in use, many features would not work. #3725
- Images were sometimes listed as created "NaN years ago". #3718
- Certain image name formats caused the containers view to no longer work. #3719
- The
customOptions
andcommand
properties on certain tasks were being over-escaped. #3722 docker-compose
tasks with a list of services to start were being over-escaped. #3726
- This version includes major changes and rearchitecting to use the Docker CLI exclusively, instead of a mix of the CLI and the HTTP API. This fixes a very common class of issues where the CLI would be working, but the Explorer view would not. #3263
- Added a new
docker.environment
setting that replacesdocker.host
,docker.context
,docker.machineName
, etc. If these settings are in use, you will be prompted to automatically migrate them on first use. #3539
- No communication with Docker should occur until the Explorer view is opened or a command is run. #3475
- The explorer view did not work if certificates were needed to authenticate to the Docker server, or if a
gpg-agent
was in use, or several other scenarios. #2058, #3295, #3590 - Debugging Python apps in WSL, without Docker Desktop, should now work. #3525
- The
docker.explorerRefreshInterval
setting has been removed. Instead of the Explorer view refreshing automatically every two seconds (by default), refreshes occur when relevant events are detected. #3674 - As part of the move to using the CLI, the
--mount
flag is now used instead of--volume
when adding volumes to containers. As a result, the SELinux relabel option,z
is no longer supported. #3656 - Features related to Azure Container Instances (ACI), including creating and using ACI contexts, and deploying to ACI, have been removed. #3655
- Fixed an issue blocking debugging of ASP.NET apps. #3638
- When scaffolding new .NET apps, base image tags with only the .NET version will be used. #3647
- Fixed a crash that could occur with certain Dockerfiles. #3450
- Added a setting,
docker.composeCommand
, to allow configuring the command used for Compose operations. If unset, the extension will attempt to automatically detect whether to usedocker compose
ordocker-compose
. #2977 - In Python projects, the
.venv
directory is now added to the.dockerignore
file, so it will no longer be part of thedocker build
context. #3476 - A "Copy Full Tag" command has been added for images in the Registries view. #3481
- Added the
projectName
option todocker-compose
tasks, corresponding to--project-name
. #3436 - Support for the
options.env
andoptions.cwd
options on all task types. #3437 - Support for the
${userHome}
task variable on all task types. #3455
- The "Compose Start" and "Compose Stop" commands available in the explorer context menu will now also be available in the command palette. #3140
- Flask apps will now use port 5002 by default, and .NET apps will use the semi-random port scaffolded in the
launchSettings.json
file. This will avoid conflicting with port 5000 which is often in-use on Mac. #3381 - Fixed an issue in the container files explorer on Windows containers with other localizations. #3415
- The experience for adding Dockerfiles to Django projects has been improved slightly. #3410
- For volume mappings in
docker-run
tasks, thero,z
andrw,z
permissions have been added, allowing support for SELinux systems. #3289
docker-run
anddocker-build
tasks will now respect thedocker.dockerPath
setting. #3281- Several fixes and enhancements to the Compose language service have been made. #78, #70, #69, #68, #65
- For .NET projects, the
/p:UseAppHost=false
argument is added to thedotnet publish
command line, in order to prevent a duplicate executable file being created and bloating image size. #3371 - The
envFiles
option indocker-compose
tasks has been replaced withenvFile
, as only one is actually allowed. #3339
- Substantial additions (to completions especially) have been made to the Compose language service. It now has near-parity to the previously-available features. #3222
- The Compose language service has been turned on by default. #3288
- The walkthrough with the VSCode walkthrough experience is no longer an experiment and is visible to all users. The previous "Getting Started" page has been removed. #3055, #3248
- A command to show
docker stats
in the terminal has been added. #3063
- A few small improvements have been made to the walkthrough. #3223, #3235
- Azure Arc custom locations should now show up again in the location selection list. #3213
- A fix has been made to an infinite loop error in the Dockerfile language service. #3268
- Docker Context lookup at the time of extension activation will now always try using the gRPC API first, due to superior performance. Previously this was an experiment. #3157
- "Invalid JSON response body" on certain registry connections. #3185
- Explorer view would appear to load forever if Docker was not installed. #3132
- The "Report Issue" button has been removed from error toasts. Instead, you can use the command "Docker: Report Issue". #3127
- Since it is now end-of-life, code specific to .NET Core 2.1 has been removed. #3093
- A walkthrough has been added using the new VSCode walkthrough experience, replacing the Docker start page. #3055
- Node debugging does not work in VS Code 1.60.0 due to removal of
node2
debug type. #3177
- VSCode's Workspace Trust feature is now supported. #2829
- The Dockerfile scaffolding for Node.js applications now will use the low-rights
node
user by default. #1834 - Profiles are now supported for starting applications with "Compose Up - Select Services" and in
docker-compose
tasks. #2777 - In compose project groupings in the Containers view, Start and Stop are now available. #2895
- Organizations should now show up in the Registries view for Docker Hub accounts. #2954
- Improvements have been made to extension activation time on Windows and Mac. #3054
- Use correct base image for .NET Windows containers #3018
- Fix installation of Docker on ARM64 Mac machines #3024
- Start page icons now display correctly #2952
- Eliminate spurious errors when images are deleted from Azure Container Registry #2968
- Enable deployment to App Service that uses "custom location" (Kubernetes-hosted) #2972, #2973
- Enable Dockerfile formatter to skip instructions that span multiple lines #992, #2004
- Add ability to see dangling images in the explorer #2547
- Add a setting for Docker CLI executable path, providing a workaround for #2894
- Enable debugging .NET applications in arm64 containers #2884
- Docker start Page pops up for non-docker related activations #2953
- Support for deploying a container image to Azure App Service on Kubernetes with Azure Arc. #2924
- Use fixed port for .Net in compose files. #2725
- Use latest version of dockerfile language server .NET apps will now scaffold using a non-root user. #2865
- Fixed C# extension not being recognized when adding Dockerfiles to a .NET project. #2867
- The extension now targets Docker Compose commands to files matching the
dockercompose
language ID. This raises the minimum required VS Code version to 1.55.0. #2761 - .NET apps will now scaffold using a non-root user. #1835
- Deployments from Azure Container Registry to Azure App Service now no longer require the admin credentials enabled on the ACR. This will now use a system-assigned Managed Service Identity. #1685
- The "Docker Containers: Compose Logs" command can now be used from the palette, as long as the grouping in the containers panel is set to the default of "Compose Project Name". #2770
- The contexts panel now has a "Use" button directly in the tree item, saving a click. #2719
- ACI contexts should now work in sovereign clouds. #2775
- Better information on both Python and .NET Dockerfiles about running as a non-root user. #2724
- Generic registry auth will now try both
POST
andGET
to obtain a token. #2735 - Commands launched on compose groups from the containers panel now use the compose project name. #2755
- Containers will now more reliably be removed after debugging when using the Restart option. #2676
- Scaffolding and debugging for Python FastAPI is now added. Thanks @Kludex! #2615
- The use of keytar has been removed since VS Code now has a secret storage API. Users will need to log in to their registries again. #2699
- In the files explorer, folders containing spaces should work. #2739
- Adding Dockerfiles to a (ASP).NET app will now automatically generate the required .NET build task, using the C# extension. #2669
- Python
docker-run
tasks should now respect thedockerRun
command
option in tasks.json. #2725 - Microsoft Container Registry (MCR) images were sometimes incorrectly being flagged as out-of-date. #2730
- Added tooltips to the various explorer views, which will show a great deal of helpful information. For example, the containers tooltips show connected volumes, networks, ports, and more. #1002, #2538, #2592
- Editing files in a running Linux container is now possible. #2465
COPY
andADD
statements in Dockerfiles now support the--chmod
option. #2624- In
docker-build
anddocker-run
tasks, thedocker.host
setting is now honored. #2590 - The preferred file name for Docker Compose files is now "compose.yaml". Scaffolding will still use "docker-compose.yml" for now, but "compose.yaml" files will be recognized as Compose files, allowing for right click -> Compose Up, etc. #2618
- Codicons are now used for almost all icons. #2654
- The previously available feature for checking if images are out of date has been re-enabled by default. The behavior now uses HEAD requests which are not subject to Docker Hub's rate limiting. This feature can be disabled with the setting
docker.images.checkForOutdatedImages
. #2691 - GitLab registry connection now supports--and requires--using personal access tokens. Users previously connecting with username and password will need to reconnect with a personal access token. Refer to the GitLab documentation on creating personal access tokens for information on how to do so. #1968, #2688
- Debugging Python apps in WSL should now work correctly. #2641
- On OS X Big Sur,
docker
was frequently missing from thePATH
environment variable for unknown reasons. This issue should now be mitigated. #2578
- In context menus for Docker Compose files, a new option has been added to allow choosing a subset of the services in the Compose file to start--"Compose Up - Choose Services". This is equivalent to running the Compose Up command with the
${serviceList}
magic property in place. #2646
- Debugging .NET and Python is now possible in GitHub Codespaces! #2389, #2565
- Prompt to open a folder or workspace when executing commands that require one--instead of Report Issue button. #2512
- Fixed "object null is not iterable" error when scaffolding Dockerfiles for .NET apps. #2572
- Fixed some issues with understanding the state of containers in Azure Container Instances. #2602
- View logs of Compose projects (cumulative logs of all containers belonging to a Compose run). #2506
- Show the Docker daemon host information in diagnostic output. #2493
- Support launching a subset of services from Compose file. #2445
- Allow users to download container files. #2466
- Directories in Windows containers cannot be browsed. #2479
- "Stop" action should only be shown for running containers. #2497
- Allow port selection when scaffolding Compose files for Node.js app. #2495
- Properly show image ID for container when requested. #2507
- This update fixes an issue that prevented debugging Python applications in Docker containers. The latest version of the Python extension is also required. #2455
- Fixed an issue where the logo was hard to see in the extension gallery page in the browser. #2499
- Added a read-only file explorer for running containers, this can be seen in the Docker Explorer tab. #2333
- In ACI contexts, volumes are now visible. #2315
- A start page will now open on install / upgrade with some pointers on where to begin. The automatic opening can be disabled with a checkbox on the page. #1895
- New extension icon! #2475
- Activation performance has been improved. #2371
- .NET Core image names below 5.0 can now be pulled without
/core
. The scaffolding code has been updated to reflect this. #2429 - Output looked bad for BuildKit builds. #2451
- UI mode has been removed for the purposes of remoting, but it can be manually re-enabled. This change significantly improves the user experience when using remote features. #2356
- The containers view is now grouped by compose project by default. This can be changed by settings. #2324
- On compose project grouping nodes, the commands "Compose Down" and "Compose Restart" can be used from context menu. #2304
- A
docker.context
setting is added, similar todocker.host
, used for controlling theDOCKER_CONTEXT
environment variable. #2264 - The checking for outdated images now applies to images from Microsoft Container Registry (MCR), including .NET and ASP.NET images. #2165
- The
docker-build
anddocker-run
tasks now have acustomOptions
flag, which can be used to add any arbitrary command line parameters to thedocker build
anddocker run
commands, respectively. #2259, #2271
- The outdated image checking feature now will run at most once per day in order to conserve rate limits. The feature remains disabled by default but can be enabled in settings, with
docker.images.checkForOutdatedImages
. #2272 - Fixed an issue with Django project debugging not working on Linux. #2313
- Support for environment variables (like
${env:HOME}
) in launch configurations has been added. In general, any variables VS Code supports should work. #1961 - Node.js applications in subfolders should now be scaffolded correctly for building and debugging in Docker. #2057
- The deprecated
docker-coreclr
debug configuration has been removed. It is replaced by thedocker
debug configuration. #2197
- Deployments to Azure Container Instances can be made directly from images in Docker Hub and Azure Container Registries in the Registries view. #1718
- ACI containers can now be stopped and started from the Explorer view. #2265
- Templates for scaffolding can be provided with the new
docker.scaffolding.templatePath
setting. #1617 - The scaffolding experience is now a wizard, which has improved UX. #1642
- The outdated image check feature has been turned off by default. It can still be turned on in settings but may result in rate limiting from Docker Hub. For more information see #2272.
- The command
vscode-docker.api.configure
has been removed. The commandvscode-docker.configure
can still be used to programmatically scaffold Dockerfiles. #2267
- The applicable Docker context types can be set on customized commands. #2168
- Image size has been added in the Explorer view as an optional property for labels and sorting. #2047
- Terminal windows will be reused, instead of opening a new terminal window every time. #251
- The recommended exec form of CMD directives is now used wherever possible. #2090
- Debugging no longer stops on hot reload in Python. #2148
- Grouping containers by networks used is not working #2185
- Activation errors due to filesystem permissions #2204
- Prompt to copy debugger into container shows up repeatedly #2186
- Allow logging to container registries without gnome-keyring installed #722
- The
docker.attachShellCommand.Windows
anddocker.attachShellCommand.Linux
settings have been removed. Command customization replaces this functionality.
- "Permission denied" issue during extension activation. #2181
- Support for Azure Container Instances Docker contexts. #2102
- ACI contexts can be created from the command palette or contexts view. #2114
- Outdated base images are now flagged with a warning icon. The base image must be in the root namespace in Docker Hub (i.e. docker.io/library). This feature is on by default but can be disabled via the
docker.images.checkForOutdatedImages
setting. #1493
- Python debugging launcher now uses
python3
instead ofpython
, to ensure Python 3.* is always run. #2123 - "Cannot read property 'filter' of null" during some commands. #2030, #2072, #2108
- Node.js and Python debug configurations did not pass along all parameters. #2024
- Fixed a few Dockerfile language server issues. #2043, #2055
- Login failure for Azure Container Registries. #1959
- Python debugging fails with message "Unable to find the debugger in the Python extension" due to new debugger location. #2080
- .NET Core attach support added for Windows containers. #1662
- Explorer no longer needs to be opened for palette commands to work. #2029
- Node base image scaffolded has been updated to latest LTS. #2037
- Python debugging now uses debugpy instead of ptvsd, fixing several issues and improving reliability. #1831, #1879
- A custom
docker-compose up
command with no match no longer produces incorrect commands. #1954 - Explorer is more responsive when trying to connect to an unreachable SSH host. #1947
- The
docker.attachShellCommand.Windows
anddocker.attachShellCommand.Linux
settings have been deprecated and will be removed in the future. Command customization replaces this functionality. #1980 - The
docker-coreclr
launch configuration has been deprecated and will be removed in the future. Thedocker
configuration replaces this. #1380
- 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.