Docker search and description column - docker

I have a problem with DESCRIPTION column in Docker Toolbox.
When I am searching for example like below:
I don't see full value in DESCRIPTION column. I didn't see anything about this problem in https://docs.docker.com/engine/reference/commandline/search/#extended-description.
There is some magic trick to resolved it?
Only way is put full description into "Readme"?

Use the --no-trunc switch:
# docker search --no-trunc oracle
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
oraclelinux Official Docker builds of Oracle Linux. 536 [OK]
sath89/oracle-12c Oracle Standard Edition 12c Release 1 with data mount support and etc 435 [OK]
frolvlad/alpine-oraclejdk8 The smallest Docker image with OracleJDK 8 (167MB) 355 [OK]
alexeiled/docker-oracle-xe-11g This is a working (hopefully) Oracle XE 11.2 on top of Ubuntu 14.04 LTS 277 [OK]
sath89/oracle-xe-11g Oracle xe 11g with database files mount support and graceful shutdown database files mount support 230 [OK]
...
I think docker toolbox is some Windows related thing. Have tested it on Linux only but It should work on Win too, when it's a full compatible port of the Linux Docker.

Related

How to find software version in a docker image

I'm trying to find a suitable docker image to host a spring application. The current stack used is openjdk 11 and Tomcat 9.
Docker hub https://hub.docker.com/_/tomcat?tab=tags&page=1&ordering=last_updated has image and I can see lot of tags. But the tags are not descriptive. Is there a way to identify if an image has a specific version version of Tomcat and Openjdk(not the oracle jdk)
You can try using the docker search command from the command line which returns the description column as well for the images.
Examples:
docker search tomcat
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
tomcat Apache Tomcat is an open source implementati… 2951 [OK]
tomee Apache TomEE is an all-Apache Java EE certif… 86 [OK]
dordoka/tomcat Ubuntu 14.04, Oracle JDK 8 and Tomcat 8 base… 55 [OK]
bitnami/tomcat Bitnami Tomcat Docker Image 37 [OK]
kubeguide/tomcat-app Tomcat image for Chapter 1 29
consol/tomcat-7.0 Tomcat 7.0.57, 8080, "admin/admin" 18 [OK]
docker search tomcat9
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
kikov79/tomcat9 Ubuntu 14.04, Oracle JDK 8 and Tomcat 9 base… 4 [OK]
oupula/tomcat9_jdk8 apache tomcat 9.0.13 + jdk1.8.0_191 + tomcat… 2
zzjhacn/tomcat9jdk8 tomcat9 with oracle jdk8 on Alpine (78M) 2 [OK]
donglsheng/tomcat9_jdk8 jdk8 tomat9 1
ykaj9758/tomcat9 tomcat9 1
utmstack/tomcat9-omp-war2safe tomcat9-omp-war2safe 0
docker search tomcat9jdk11
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
aptea/tomcat9jdk11 0
binbin0915/tomcat9jdk11 0
kapitanmf/tomcat9jdk11partner 0
kapitanmf/tomcat9jdk11 0
Note: The description column is not set for all of the images though.
You can try docker image inspect <image_sha> and there should be version of application I did it for artifactory and there is a key named
ARTIFACTORYVERSION=7.39.4

How to install Podman windows by command line?

I am using windows 10 Home. But with this edition I am unable to use docker or oracle vm virtualbox. So can I use Podman in place of docker? If yes then what is it's command?
At this date, the answer is no, you cannot use podman to run containers on Windows 10 Home.
Podman is very much a Linux program at this point. This big issue that I see for podman is the file system layering code. Given that podman is developed by Red Hat, it will probably require a partnership with Microsoft to make this happen. In that regard, Microsoft is developing their own tools for containers.
Now Podman is supported on Windows.
Refer: https://github.com/containers/podman/blob/main/docs/tutorials/podman-for-windows.md

Issues while installing Docker on Windows 10 home edition

I am getting below error When I try to install Docker on Windows 10 Home Edition.
[21:20:49.129] [InstallWorkflow] Pre-requisite failed: Docker for Windows requires Windows 10 Pro or Enterprise version 14393, or Windows server 2016 RTM to run
Can I Install Docker on Windows 10 Home Edition?
Edit Windows Version in Registry
Press Windows + R and write regedit
In the Registry Editor, go to \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion
Right-click on EditionID and Click Modify
Change Value Data to "Professional"
Press OK.
Install Docker
After the installation, you can change the EditionID back to "Core"
As the error says, you cannot use Docker in the Home edition. You need "Windows 10 Pro or Enterprise version 14393, or Windows server 2016 RTM."
Check out their documentation here, which mentions, on 04/05/2018:
The current version of Docker for Windows runs on 64bit Windows 10
Pro, Enterprise and Education (1607 Anniversary Update, Build 14393 or
later).
As already mentioned in the comments, you might want to try the legacy Docker Toolbox:
Docker Toolbox is for older Mac and Windows systems that do not meet
the requirements of Docker for Mac and Docker for Windows.
Docker for Windows requires Hyper-V which is not included in Home edition.
You'll need to upgrade Windows to the Education or Pro edition.
https://docs.docker.com/docker-for-windows/install/#what-to-know-before-you-install
Also see this comment on GitHub.
You can already install Docker Desktop on Windows 10 Home.
This is how I did it:
You need to join Windows Insiders Program because you need WSL 2
You need to download the specific version of Docker Desktop: https://download-stage.docker.com/win/edge/41944/Docker%20Desktop%20Installer.exe which has a required change - allows install it on Windows 10 Home.
Those who have Windows Home Edition can now download and install Docker Desktop from below link.
https://docs.docker.com/docker-for-windows/install-windows-home/
Although not on Win10 Home per se, for evaluation purposes you can install Docker Desktop on a Win10 Pro virtual machine (VMWare player is my personal choice). You'll need to install VMWare Workstation Player which is free, and obtain a perfectly legal Win10 Pro image from microsoft directly here: https://www.microsoft.com/en-us/software-download/windows10
Be sure to activate the virtualization engine of the machine as Docker relies on Hyper-V:
This is how I resolved the problem. (OS- windows 10 home)
Join windows insider program. It enables you to update latest content of windows 10. You can find it in the start-> settings. Make sure to select Release Preview in the Insider program.(otherwise you will not get latest updates. After the installation you can pause frequent updates)
Check for windows update and update windows to latest version.(This will take awhile)
Install WSL 2 Linux kernel
https://learn.microsoft.com/en-us/windows/wsl/wsl2-kernel
I had below issue because I have tried to install this before updating windows. Please read the document carefully and follow steps.
If the installer cant find WSL 1 right click the Linux kernel update
installer, then press uninstall then rerun the installer
Now you are ready to update to WSL 2. Follow steps of this doc
https://learn.microsoft.com/en-us/windows/wsl/install-win10
Open PowerShell as Administrator and run:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
Enable the 'Virtual Machine Platform'
Open PowerShell as Administrator and run:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
Restart your machine to complete the WSL install and update to WSL 2.
You can verify whether this by looking at task manager.
*Set WSL 2 as your default version
In PowerShell: wsl --set-default-version 2
Now you can install docker desktop version.
Finally https://docs.docker.com/docker-for-windows/
This might not work for some. If you find any issues please post. I'll try to help.
This might help someone who cannot upgrade their system to pro or professional. Consider installing Docker Toolbox on Windows. For mac users: Docker Toolbox on Mac
Legacy desktop solution. Docker Toolbox is for older Mac and Windows systems that do not meet the requirements of 'Docker Desktop for Mac' and 'Docker Toolbox on Windows'. We recommend updating to the newer applications, if possible.
As per documentation, the toolbox includes these Docker tools:
Docker Machine for running docker-machine commands
Docker Engine for running the docker commands
Docker Compose for running the docker-compose commands
Kitematic, the Docker GUI
a shell preconfigured for a Docker command-line environment
Oracle VirtualBox
Get the latest update from https://www.microsoft.com/en-us/software-download/windows10 and it will work.
First of all I'd like to thank the previous respondents to this questions - saved me a lot of time and yes, they are both correct.
Secondly as a small completion to their answer, in case you are wondering where you can get a Pro version of Windows without breaking the bank, you can get a relatively cheap and legal Windows 10 pro cd-key from ebay and upgrade you version from Windows settings -> Activation.
https://www.ebay.com/sch/i.html?_from=R40&_nkw=windows+10+pro&_sacat=0&_sop=15
Just make sure you read the sold product description well and eventually the reviews if there are so that you know what to expect (if you encounter any issue, ebay will refund your purchase).
Best of luck to you all!

Linux Docker container on Windows Server 2016

What is the way to run Linux docker container on Windows Server 2016? With Docker for Windows it easy to do in Windows 10. Is the only way to install Docker Toolbox and ignore the build-in containers feature all together?
It is possible to use Linux containers on W2016. It's a bit hacky though. User "Algore" described it here but I've copied it into this answer, of course.
Download "Docker for Windows": https://docs.docker.com/docker-for-windows/
Install "Docker for Windows" on Windows 10 Pro.
Copy C:\Program Files\Docker from the Windows 10 machine to C:\Program Files on your Server 2016 box.
On the W2016 box run install-windowsfeature hyper-v,containers
Copy these registry entries to a file and import them on your Server 2016 box (reg import):
---START---
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Docker Inc.]
[HKEY_LOCAL_MACHINE\SOFTWARE\Docker Inc.\Docker]
[HKEY_LOCAL_MACHINE\SOFTWARE\Docker Inc.\Docker\1.0]
"AppPath"="\"C:\Program Files\Docker\Docker\Docker for Windows.exe\""
"BinPath"="\"C:\Program Files\Docker\Docker\resources\bin\""
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Application\DockerService]
"EventMessageFile"=hex(2):43,00,3a,00,5c,00,57,00,69,00,6e,00,64,00,6f,00,77,\
00,73,00,5c,00,4d,00,69,00,63,00,72,00,6f,00,73,00,6f,00,66,00,74,00,2e,00,\
4e,00,45,00,54,00,5c,00,46,00,72,00,61,00,6d,00,65,00,77,00,6f,00,72,00,6b,\
00,36,00,34,00,5c,00,76,00,34,00,2e,00,30,00,2e,00,33,00,30,00,33,00,31,00,\
39,00,5c,00,45,00,76,00,65,00,6e,00,74,00,4c,00,6f,00,67,00,4d,00,65,00,73,\
00,73,00,61,00,67,00,65,00,73,00,2e,00,64,00,6c,00,6c,00,00,00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\com.docker.service]
"Type"=dword:00000010
"Start"=dword:00000002
"ErrorControl"=dword:00000000
"ImagePath"=hex(2):22,00,43,00,3a,00,5c,00,50,00,72,00,6f,00,67,00,72,00,61,00,\
6d,00,20,00,46,00,69,00,6c,00,65,00,73,00,5c,00,44,00,6f,00,63,00,6b,00,65,\
00,72,00,5c,00,44,00,6f,00,63,00,6b,00,65,00,72,00,5c,00,63,00,6f,00,6d,00,\
2e,00,64,00,6f,00,63,00,6b,00,65,00,72,00,2e,00,73,00,65,00,72,00,76,00,69,\
00,63,00,65,00,22,00,00,00
"DisplayName"="Docker for Windows Service"
"ObjectName"="LocalSystem"
"Description"="Run Docker for Windows backend service"
---END---
You can add an entry to currentversion\run or a scheduled job if you want docker for windows.exe to start up automatically.
Restart the computer and run the PowerShell script C:\Program Files\Docker\Docker\Resources\mobylinuxvm.ps1 -Create
Look into this ps1 file and notice that you can set various options. Please refer to these websites:
https://docker-saigon.github.io/post/Docker-Beta/
https://jpetazzo.github.io/2013/10/16/configure-docker-bridge-network/
Make sure the docker service com.docker.service (start-service com.docker.service) is running before you start C:\Program Files\Docker\Docker for Windows.exe
If you are running on server core and don't have the tray icon, click "change privacy settings" when the notification comes up after it starts to get to settings (or modify the json in programdata)
If you run into issues when trying things and rebuilding, check out the C:\Program Files\Docker\Docker\Resources\forceremovedocker.ps1 file for locations to delete settings such as in C:\programdata. I would advise against running the script as it deletes all docker related things. Just use pieces of it.
According to this from Stefan Scherer it is possible to run Linux containers on Server 2016. The instructions are:
Create a Linux Docker machine in Hyper-V
If you want to try out multi architecture you also use docker-machine
to create a Linux Docker Engine running in Hyper-V. I have prepared a
script that will set up everything as there are some known issues.
C:\vagrant\scripts\create-hyperv-linux-docker-machine.ps1
This PowerShell script creates a Docker machine and updates Docker
Engine to the latest so that the Windows Docker client is able to
communicate with the Linux Docker Engine.
Use the Linux Docker machine
Open a PowerShell terminal as an administrator and select the Linux
Docker machine with
docker-machine env --shell powershell | iex
Now run your first busybox container with
docker run -it busybox uname -a
Unfortunately, right now it is not possible to easily install the "Docker for Windows" tool. This installer provides a thin VM called MobyLinux which allows running of Linux containers on Windows Server 2016. You can find a hacky install attempt (which I have not tried) on the Docker forums.
For reference there is a good discussion about what is going on behind the scenes with "Docker for Windows".
The below worked on Windows Server 2016 build 14393.693 (January 2017) without hacky workarounds.
It may work on higher/lower builds but I tried to replicate on a recently updated version of Windows Server 2016 and it failed spectacularly! Feels like this hole had to be patched!
Download Docker Community Edition 2.0.0.3 2019-02-15
Link: https://download.docker.com/win/stable/31259/Docker%20for%20Windows%20Installer.exe
Page with all versions: https://docs.docker.com/docker-for-windows/release-notes/
Simply download/copy the file to the Windows Server 2016 machine and run it.
It can also run offline for air-gapped systems.
Uncheck the "Use Windows containers" during setup. Unchecked by default.
You will get a message after installing saying that windows so and so is deprecated. Click OK. enter image description here
Log out and log back in.
If you hadn't installed Hyper-V it'll prompt you to do it automatically. Allow it, let it finish and restart. You're good to go now. You may need to restart again if it fails to switch to Linux.
I've tested this by running several Linux containers, it works fine. If I'm missing something do share for the benefit of others. The downside is you cannot update to a later version of Docker.
Simply download and install Docker on Windows Server 2016 https://www.docker.com/docker-windows
If you run Windows Server 2016 as a VM using Hyper-V make sure to check this MS doc https://learn.microsoft.com/en-us/virtualization/hyper-v-on-windows/user-guide/nested-virtualization

Create docker image running old Windows version

I am new to docker and my task is to create docker container running Windows 98.
The difficult part is not having Windows 98 installed. My computer has Windows 7/Kubuntu 16 (dual boot).
I am looking for some way of getting ready Windows98 docker image or creating it using these operational systems.
P.S. I think I need to clarify: I prefer to run docker over Kubuntu, not Windows (if possible).
The docker image should run Windows98 inside.
Here you can find official images from Microsoft for docker.
As you can see there are only Nano Server and Windows Server Core containers available.
Unfortunately for Windows98, you would need to use regular VM.

Resources