upgrading Docker EE for Windows Server 2016 - docker

Docker EE installation followed here: https://docs.docker.com/install/windows/docker-ee/#install-docker-ee
for the script install. The uri seems to be broken. looking at download.docker.com it seems you dont have any of the new docker ee releases there (specifically 1809 that I’m looking to upgrade to) our network policies on our docker machines dont allow us to use PSGallery so I can’t follow the Install-Module approach…
Is there anything I can do to update to the latest docker ee?

You can get the direct download urls from this json file.
At the time of writing, the 1809 package zip is here and seems to be the same version that the OneGet provider installs.
The link is actually included under section "Update Docker Engine - Enterprise" on the Docker docs page, but the offline installation should ideally include a method for discovering the url.

Related

Error publishing Docker image to Azure container registry

I am trying to publish my first Docker image (built from a simple .Net core console app) to my Azure container registry. The process started and ran for about two minues before errored out. Here is the error:
The log mentioned contains the same imformation.
It looks like the error is related to some Nuget package:
But the problem is that I don't have this "C:\Program Files\dotnet\sdk\5.0.408" folder on my machine:
and I don't have a reference to that package in my project:
What am I missing? and what should do to fix it? I am totaly new to Docker so any inputs will be highly appreciated.
UPDATE
Here is my firewall settings - it doesn't have any Docker related items in it! Could that be the problem? If so, how do I fix it?
• I would advise you to please check the installation of the latest version of the ‘Docker Desktop for Windows’ software that is supported by ‘ASP .Net Core Web App’ long term release version. It should be compatible to the created ‘.Net Core Web App’ version such that when you are trying to publish your web app image from the Visual Studio App to the Azure container registry, the ‘Docker Desktop for Windows’ will be able to sync push the image to the linked ACR.
• Would also suggest you to please check whether the Linux kernel package for x64 machines is updated or not. If not, would suggest you to please download the WSL2 Linux Kernel update package, install it and restart the ‘Docker Desktop for Windows’ software on your system. This will ensure that the Linux kernel set for the Web app in Visual studio is accordingly setup in ‘Docker Desktop for Windows’ application.
• Finally, please check the local Windows firewall for the inbound allow rules for the ‘Docker Desktop for Windows’ software whether its backend is allowed to run and connect to the Azure Container Registry or not as below: -
Also, ensure that the ‘Azure.Container.ContainerRegistry’ library is installed in your environment through the Visual Studio extension gallery as it is required for developing a .Net Web app code. Please ensure that ‘Microsoft Authentication’ libraries are also installed correctly in your Visual Studio repository for successful connections. I followed the below documentation link for publishing Docker image to Azure Container Registry and I was able to successfully connect to the ACR as shown below: -
https://learn.microsoft.com/en-us/visualstudio/containers/hosting-web-apps-in-docker?view=vs-2022
Thus, would suggest you follow the given link.

Docker File Alternatives to Latest?

I was told it's better not to use latest in Docker File, but how can I find alternatives?
According to: https://ubuntu.com/download/desktop the latest version of ubuntu is Ubuntu 22.04.1 LTS but when I go to: https://hub.docker.com/_/ubuntu/tags I see strange tags like: bionic what is that?
and 22.10 this is a future version? how is that possible?
and while I could fine 22.04 I could not find 22.04.1
There are many problems involving the usage of latest tag on a docker image. The application is constantly changing and with it its architecture as well. While pulling an image with the latest tag, you use these changes as well. This may be good in a personal project sometimes but in a large scale application, you dont want your application to change drastically. Example:
While working on a dockerized application, we incorporated db connector to session storage redis db, the connector connected to redis at the start of the application and if it was unsuccessful, the application would not start. Every update/change on the host machine with running application meant deploying redis as well as we were using the latest tag.
22.04 Ubuntu is the latest LTS build, but there also is experimental 22.10 (ref. Ubuntu 22.10

OpenIAM set up using docker for custom edition

I need to install and set up OpenIAM custom edition using docker in centos VM , I don't want to go for enterprise edition for which docker image is available in OpenIAM git hub through a subscription.
I am aware of the rpm install manually for custom edition that requires other dependencies to install as well for complete set up, but want to automate this through docker. Any idea how I can achieve this?
Just for transparency, I work for OpenIAM.
Our RPM installation requires minimal external dependencies. Additionally, there will be a new release of the Community Edition next month which will be provided via Docker as well. The Enterprise Edition currently supports RPM, Docker and Kubernetes.
We will also be releasing a slew of tutorial videos for v4.1.11 and 4.1.12 in the coming weeks to help users get started.
Regards,
Ameet Shah
OpenIAM

Running Linux Docker Containers on Windows Server 2019

I am exploring docker for one of my company project. In this project I need to run the MemCached on CentOS and I prefer to run this in a docker container. I have successfully able to run this on Windows 10 machine with Docker Community Edition installed. But our project needs Windows Server 2019 in production and I want to run the container of same image (MemCached on CentOS) on windows server 2019. I googled a lot and found a link for running Linux Containers on Windows Server 2019. But as per the above link we are installing docker package in Preview version. I believe that this Preview version I should not use in Production. Is my understanding is correct or not?
Also is there any other stable released way to run Linux containers on Windows Server 2019.
Thanks in advance.
As per the Preview version you can remove the -RequiredVersion preview tag and then install. The process will install Docker Enterprise Edition on Server 2019 and not the CE version as the one for WIN 10.
If the container you want to run is a Linux container then you may face some tough times reason being
The containers(linux) runs on Server 2019 using LCOW way and the LCOW way is an experimental feature.
You said that you want to run container in Production environment and I would say not to use and experimental feature for Production.
Incase you need to run the containers on a server edition of Windows ie Server 2016 or Server 2019 you can go with the Docker CE (ie the same .exe that works on Win 10).
One important point to note is that on server 2016 all the docker versions are not supported.
Docker 2.0.0.31259 is the supported version of Docker on Server 2016.(Latest Docker 2.1.0.3 does not work on server 2016 but it works on Server 2019
Note : I face the same issues as you face ie you want the run the containers on Server 2019. The above are my findings so far. There is no clarity from windows side about how to run docker containers. Please refer to my answer :Here for better understanding
I'm struggling with the same issue for some time, and for me the only working combination of Windows Server and Docker that can effectively run with Linux containers is Windows Server 2019 Standard Edition with an edge release Docker Desktop Community 2.1.3.0 published on 2019-09-16.
The link to read about edge releases and to download them is:
https://docs.docker.com/docker-for-windows/edge-release-notes/
In my case, there was also an issue of nested virtualization, since my Windows Server is installed on VMware machine, and Docker requires Hyper-V inside Windows Server in order to work.
Fixed that issue according to instructions provided here:
https://doitfixit.com/blog/2014/03/06/qhyper-v-components-is-not-runningq-nested-in-vmware-workstation/
as far as my understanding goes, it is experimental feature, however it can be done and works quite OK.
The only requirement is that this feature works on server with hypervisor enabled.
Follow this link: https://www.altaro.com/msp-dojo/linux-containers-windows-server-2019/ for further instructions on how to set it up.

How to Install a module on Drupal 8 in a docker environment when D8 asks for FTP credentials. (Devilbox)

Technology used:
- Windows 10
- Docker for Windows
- DevilBox
- Drupal 8.6.4
(Optional tech: cygwin to simulate linux commands).
When attempting to add a new module via URL or file upload in Drupal 8, the site asks me for FTP credentials and I have no more ideas where to find or set them.
I have a basic install of Devilbox running a brand new installation of Drupal 8. (Devilbox is a dockerized php stack).
To solve my problem I bypassed finding the FTP credentials.
I will change the accepted answer to the first correct answer that is not mine and a bypass.
First step, stopped using cygwin. Started using Powershell.
Next step, navigate to the site's installation within devilbox:
/devilbox/data/wwww/<yoursite>/htdocs
Then run command: composer self-update
Followed by:
composer require drupal/<drupal module to add>
Magically, module is under the modules page on drupal 8.

Resources