-
Standing up Portainer using Docker Desktop on Windows.
So as I find useful Docker tools… I’m finding that Portainer is a very useful for my running Docker Desktop… The thing of it is… like a lot of images/containers… depending on what type of images you are set to run (Windows vs. Linux), the actual running of the Portainer varies. If one is on windows images… # #First time running Portainer # #Now make sure that the directory C:\ProgramData\Portainer exist or change the second volume property (-v) below # docker run -d -p 9000:9000 --name portainer --restart always -v "\\.\pipe\docker_engine:\\.\pipe\docker_engine" -v C:\ProgramData\Portainer:C:\data portainer/portainer # # This gives one access to Portainer on Localhost:9000. In the first go around you…
-
Docker Desktop WSL 2 Ports Access Denied
As I’ve been trying to work with Linux containers and images, I ran into a problem with assigning ports to Linux containers. The Linux distro is running under WSL 2 on my Windows 10 2004… and when I set the -P x:y, Docker would fail to start the container will an error Access denied. So after lots of internet looking… and port mangling… noon of which work… I find that the Linux distro (Ubuntu 18 something) seems to require root… so here we go… I open a bash terminal under the distro that docker is using… and do the following: sudo groupadd docker sudo usermod -aG docker $USER sudo chown…
-
Docker Desktop and Windows 10 2004
Ok as I previously talked about getting Docker up and going on a PC that really does not support the level of Hyper-V that is needed by Docker Desktop… there is a another solution. Windows 2004 update… Now I’ve been putting off the move to version 2004 because it was known to have had problems… But I finally made the move… no real problems yet. So why do this… with Windows 10 2004 one get’s WSL (the Windows Subsystem Linux). This is key to getting Docker Desktop to work without using Hyper-V! So lets do some stepping through this: First move one’s Windows to version 2004 (hours and hours and…
-
Docker Oh Docker
The dark world of Containers and Images…oh my. As I step my feet back into the Container World… and bring back the horror that is Hyper-V… I am reminded that my personally built Mage Dev PC does not really fully support the whole of Hyper-V- as least not how Docker Desktop wants to use it. Ya, it work fine on my ThinkPads (including my mini- Yoga X1)… but alas not the main desktop dev. Oh woe! But wait… there is a way…. I ran across this blog entry Docker without Hyper-V … and it really works… The long and short of it…. two methods to the madness… Option 1 script:…
-
C# Full Timestamp
Because I’m always having to look this up… a full (useful) timestamp should always look like this… YYYYMMDD HH:MM:SS.fff => 20200730 14:58:00.000 string timeStamp = DateTime.Now.ToString("yyyyMMdd hh:mm:ss.fff tt"); //Example 20200730 03:02:39.591 PM string fileTimeStamp = DateTime.Now.ToString("yyyyMMdd_HHmmssfff"); //20200730_150535040 string fileTimeStamp2 = DateTime.Now.ToString("yyyyMMdd_hhmmssffftt");// 20200730_030707929PM ~SG
-
Dotnet EF tools updating
I don’t know why this is always hard to find…. EF Core Tools ## To Install dotnet tool install --global dotnet-ef ## To Update dotnet tool update --global dotnet-ef ~ScottGeek
-
The Server Side Blazor and SignalR Timeout
So in my Blazor travels I ran across one (or another) annoying thing. In this one we will talk about that Server -Timeout? Disconnect? Retry? Not really sure which one it is. This affects Blazor Server Side where SinalR is being used between the browser and server side code. I came across some Javescript that can go into the _Host.cshtml file. <script> // Wait until a 'reload' button appears new MutationObserver((mutations, observer) => { if (document.querySelector('#components-reconnect-modal h5 a')) { // Now every 10 seconds, see if the server appears to be back, and if so, reload async function attemptReload() { await fetch(''); // Check the server really is back…
-
Blazor: And the Identity Scaffolding Mess
Ok, back around to the annoying bin. Let’s talk adding Identity to a Blazor Web Assembly app… Out of the box when you start with a Blazor WebAss project using Identity and of course ASP Core hosted (I’m using preview 2). You then decide that all of the hidden razor pages really need to be customized (don’t even get me started on Hidden razor pages). Well there is a way to do just that. You Add Scaffolded Item to the Server project and select Identity (nope not going to show you that- there’s plenty of how-to on the internet). I wait while you go figure out how-to do that…… Wait …
-
Dot Net Hell by any other name?
Just when I think Dot Net Hell days are coming behind us… I run across the reality of the fact that those that created this in the first place are… well… still doing it? Take this little gem: public static async IAsyncEnumerable<string> GetContent(string[] urls) { } Yes, we now have IAsyncEnumerable… or do we. In my little experiment, I have a .Net 4.8 console app with C#8.0 language stuff turned on. So, I wanted to mess about with the Async Enumerable…. But in my console app that IAsyncEnumerble goes all red line of crap on me. So what’s the deal? Well it’s simple once you do the digging. .Net…
-
Dotnet Core Templates – The Revisit
So a while back I penned an article (Dotnet new Magic), but now with the latest VS 2019 and Dotnet Core 3.x release… it’s time to revisit. In case we forgot – the command is: dotnet new -i “–The Template Reference Name Here–” The list of templates can be found in the old place but also here – Dotnet New Templates What ones do I add: dotnet new –install “Microsoft.AspNetCore.SpaTemplates” dotnet new –install “Microsoft.Azure.WebJobs.ProjectTemplates” dotnet new –install “Microsoft.Azure.WebJobs.ItemTemplates” dotnet new –install “NUnit3.DotNetNew.Template” dotnet new –install “Microsoft.AspNetCore.Blazor.Templates” **Some of these already exist, but this one adds the webassembly type. dotnet new –install “Microsoft.Azure.IoT.Edge.Module” dotnet new –install “Microsoft.Azure.IoT.Edge.Function” dotnet new –install “RaspberryPi.Template”…



