It used to be that at least ABP Commercial came with full (or at least good) support for Docker, including multi stage Dockerfiles with support for Docker Compose etc. But this does not seem to be the case anymore, the included Dockerfiles are very minimal and isn't even recognized by Visual Studio as Dockerfiles it seems. They also does not seem to work so you can publish to Docker Hub etc. (as Visual Studio claim there is no Dockerfile)
Even finding Docker in the current documentation is hard, we've only been able to find it mentioned in the 8.1 documentation and that seems to be outdated now, for example the build-images-locally.ps1 mentioned there does not seem to exist anymore
https://abp.io/docs/commercial/8.1/startup-templates/application/deployment-docker-compose?UI=BlazorServer&DB=EF&Tiered=Yes
Have tried to find information about this change including updated documentation for the changes that have been made but not found it so:
- What is the current support in ABP for Docker?
- Where can we find updated documentation?
- What are the recommended best practices to use Docker with ABP for both development and hosting (besides the stuff on how to use Docker with .NET in general)?
- If the previous support for Docker was removed (again, besides .NET support in general for Docker), why was this?
You can of course build your own Dockerfiles from scratch etc. but my questions here is about what support you get out of the box for Docker in ABP.
Also created an issue on GitHub for this, but the answers might be different between the free and the commercial version of ABP.
https://github.com/abpframework/abp/issues/21057
Thanks.
18 Answer(s)
-
0
Still waiting for a reply here. Thanks.
-
0
OK, so I decided to uninstall the new CLI and instead install the "old" CLI and use that to create a new similar solution. And to my surprise, that still contained what appears to be full docker support, including Docker Compose and the necessary scripts to build images etc.
With ABP Studio still being in beta (which seem to be true beta in this case with the bugs to go along with it), this really creates some confusion as to what solution to actually use when you want to build something for real production with ABP (not just with regards to Docker).
ABP really need to comment on this...
-
0
Hi,
You are right; ABP should have full support for docker; we'll discuss it internally and get back to you
-
0
Hi,
You are right; ABP should have full support for docker; we'll discuss it internally and get back to you
Thanks for responding.
This should for now mean that if you want Docker support, you would have to use the old CLI (or rather the startup templates for that but they seem to be tied together)?
-
0
Hi,
Yes, old and new CLI use different template sources.
-
0
Hi,
Yes, old and new CLI use different template sources.
Thanks. What about going forward then, would solutions created with old CLI work with ABP Studio?
-
0
Yes, you can open abp studio and click File -> Initialize Existing Solution
-
0
Yes, you can open abp studio and click File -> Initialize Existing Solution
Thanks, will give it a try.
Please let us know with regards to Docker support in the new CLI / ABP Studio once you have had that discussion.
-
0
Any news on this, ie having Docker support in solutions created by new CLI / ABP Studio just like with old CLI?
Thanks.
-
0
What is the status on this? ABP seem to have dropped support for Docker almost completely with the new CLI.
-
0
Hi,
Still waiting for an update on this or a confirmation that Docker support has been dropped from the new CLI (templates) as the current support for Docker using the new CLI is very basic compared to the one in the old CLI, and also no support at all for Docker compose etc.
-
1
Hi,
Studio focus on the Kubernetes, but Docker support is also important, we will consider add Docker compose to the template in the next version. https://abp.io/docs/latest/studio/kubernetes
-
0
Hi,
Studio focus on the Kubernetes, but Docker support is also important, we will consider add Docker compose to the template in the next version. https://abp.io/docs/latest/studio/kubernetes
Thanks for answering.
Just to make sure we understand this correctly, going forward, there is basically no container support in ABP unless you have a business or enterprise license, and as of now, no included Docker support regardless of what ABP version you use unless you add it yourself?
This compared to the previous CLI which had full support for Docker and Docker Compose out of the box?
-
0
Hi,
and as of now, no included Docker support regardless of what ABP version you use unless you add it yourself?
No, you can use the old CLI to create the project.
abp new BookStore --old
This compared to the previous CLI which had full support for Docker and Docker Compose out of the box?
I will bring the previous docker support to the new template.
-
0
Hi,
and as of now, no included Docker support regardless of what ABP version you use unless you add it yourself?
No, you can use the old CLI to create the project.
abp new BookStore --old
AFAIK, ABPs recommendation is not to use the old CLI any more though and based on this thread https://abp.io/support/questions/7625/React-Native--Expo-migration?CurrentPage=2, old CLI / templates will not have support for React Native etc going forward?
This compared to the previous CLI which had full support for Docker and Docker Compose out of the box?
I will bring the previous docker support to the new template.
Thanks for that. What is the timeline on this?
Based on other posts here, I believe that we are not the only ones that are currently confused / frustrated about what CLI / templates to actually use for new projects intended for production, especially considering that ABP Studio (and the new CLI I think) is still in beta. I hope ABP will be able to address this situation better going forward as I feel that we have been stuck in a holding pattern for quite some time now.
-
0
Hi,
Here are some relevant explanations.
https://abp.io/docs/latest/cli/differences-between-old-and-new-cli
Thanks for that. What is the timeline on this?
December 31, 2024 you can see the milestone here https://github.com/abpframework/abp/milestone/107
Based on other posts here, I believe that we are not the only ones that are currently confused / frustrated about what CLI / templates to actually use for new projects intended for production, especially considering that ABP Studio (and the new CLI I think) is still in beta. I hope ABP will be able to address this situation better going forward as I feel that we have been stuck in a holding pattern for quite some time now.
Yes, the studio is still in the beta phase and almost stable. If you want a stable template, I still recommend you use the old CLI.
In fact, you can use the new template and copy the Docker configuration from the old template to the new template. It's a little ugly, but it works.
-
0
Thanks for responding.
Hi,
Here are some relevant explanations.
https://abp.io/docs/latest/cli/differences-between-old-and-new-cli
Thanks for that. What is the timeline on this?
December 31, 2024 you can see the milestone here https://github.com/abpframework/abp/milestone/107
I am not seeing anything Docker related on that page though?
Based on other posts here, I believe that we are not the only ones that are currently confused / frustrated about what CLI / templates to actually use for new projects intended for production, especially considering that ABP Studio (and the new CLI I think) is still in beta. I hope ABP will be able to address this situation better going forward as I feel that we have been stuck in a holding pattern for quite some time now.
Yes, the studio is still in the beta phase and almost stable. If you want a stable template, I still recommend you use the old CLI.
In fact, you can use the new template and copy the Docker configuration from the old template to the new template. It's a little ugly, but it works.
Have read the page above a few times by now, and together with what is communicated in forums etc. I don't really see the message "if you want to build for production, use the old CLI" coming across clearly, especially the "so if I use the old CLI, what will happen when that is dropped in the near future?" question. Now, don't get me wrong, I understand the challenge of making this transition from old to new and the reasons for it, at the same time, it also creates some challenges for us customers going forward with new projects.
This is probably beyond the scope of this thread though, but I would recommend that ABP looks into improving the communication and recommendations about this as I get the feeling that we are not the only one feeling a bit of discomfort at the moment going forward because of this. Then of course there is .NET Aspire on the horizon as well.
-
0
Hi,
I understand that, In fact, you don't have to worry about it, the main difference between the old and the new template is the configuration file. If you want, you can absolutely use the new template to develop your application. The beta phase I mentioned is the studio, not the template.