docker codeception unit tests run time is too long on Mac - docker

In our project for local env. we are using Docker containers for development and running test. And vendor/bin/codecept run unit is taking almost 7 minutes for devs who work from Mac, but only 17 seconds for devs from linux. Any idea what can cause the issue? I believe the issue is on some docker configurations on Mac

Related

Still confused about docker

Ive taken an app and built a docker image for windows server 2016 using microsoft/aspnetcore:2.0 base image.
My question is...what machines/OS's will I be able to run the container on?
I know it cant run on Linux.....but could it run on (e.g.) ANY version of windows server 2016? How about windows server 2019?
The architecture is AMD64....does that mean the container will only run on machines with that exact architecture?
Im trying to figure out why containers are considered beneficial
I don't have any experience with Docker Windows containers, but I have a ton of experience with Docker containers in general, and the concepts between Windows and Linux containers should be mostly the same.
When you run your built app, no matter if you run it on Windows Server 2016, Windows Server 2019, or even Windows 10 Pro, the app should function exactly the same. Under the covers, Docker provides an isolated application environment. From your applications perspective, it only knows/experiences/sees itself and the Windows Kernel that it's running on. If you had, say, an IIS instance also running on that server, your app would have no idea. The point here is that Docker provides a means to:
Run multiple versions of an app on the same machine, in complete isolation.
Have a more clean running environment for every app.
Be much more resource efficient than running discrete VMs
Another huge benefit of Docker is that it provides a means to ephemeral environments. Which means you should expect to have the exact same behavior from an app running on machine #1 as you do on machine #2. It eliminates the "works on my machine" mentality, especially when some other 3rd party dependency is not installed/forgotten, because these will be bundled into the container as part of the build.
Lastly, about architecture. The app you built is designed to run against the architecture of the Windows Kernel it was built with. In your case AMD64, from my understanding, this implies the x86_64 architecture. This should mean that your container will run on any 64-bit x86 machine (AMD or Intel). Your container will not run on any other architecture: x86 (32 bit), 386, 486, ARM, ARM 64, etc. I think in the case of Windows this isn't as important of an issue, because 90% of the time you're running on x86_64. But with Linux you end up with everything from SPARC to ARM, and so that architecture distinction is important.
I too had a lot of the same questions when I started using docker. While the product "Docker" has been hit-or-miss on occasion, the concept "containers" and the benefits they provide when used correctly are very powerful and I use the for almost every project I work on.

Divio app docker server connection stuck at "installing"

I have a problem with my divio app.
setting up my divio application for the first time, I managed to get a check mark for "docker client", "docker compose", "docker machine" and "virtual box" by installing docker toolbox, however, when trying to install "docker server connection" it seems that Divio app gets stuck at "installing" and nothing actually happens. I left it for hours and nothing happened. What am I getting wrong here? Is it permission issues or something else?
P.S. I'm using windows 7 ultimate 64-bit. Any help is highly appreciated.
Docker, and therefore the Divio local development environment, will run natively on Windows 10 Professional and Enterprise.
On other versions (Windows 10 Home, and earlier versions) it cannot run natively and must be run in a virtual machine.
This is why your installation requires Docker Toolbox and VirtualBox. The best way to get past this is to upgrade to Windows 10 Professional, but that's not an option for everyone.
If the Divio app detects that your system does not support Docker natively, it will do its best to install Docker Toolbox and VirtualBox, but this set-up is more complex and fragile, and as you have seen, setting it up can sometimes fail.
Try these steps:
Quit the Divio application.
Make sure that VirtualBox on your system is fully up-to-date with the latest version. You can download and install it from the VirtualBox website.
Make sure that Docker Toolbox is fully up-to-date with the latest version. You can download and install it from the Docker Toolbox.
Make sure that both applications are able to run if you launch them manually.
Ensure that you are running as an administrator user.
Check that virtualisation is enabled in your PC's BIOS.
Finally, try again with the Divio app.

Docker push hangs forever on Windows 10

I am running Windows 10 Professional Version 1809. Pushing docker images to docker.io takes endless time (does not finish even after several hours). On my physical Ubuntu machine in the same network pushing the same finishes in only a few seconds.
It seems this is not related to the way how I install docker. I tried Docker for Windows (using Hyper-V), Docker Machine (using VirtualBox) and also I installed Ubuntu+Docker within VirtualBox on my own. The result is always the same.
I already tried to disable Windows Defender, with no improvement at all.
Any ideas are welcome, since I am running out of ideas completely.

Docker in a Parallels' Virtual Windows 10 Pro Machine

I have a 2013 Mac Pro running the latest Parallels Desktop Pro v
12.2.0 (41591)
On it, is a Windows 10 Pro virtual with Docker Version 17.03.1-ce-win10 (11972)
Docker can only run with 'windows containers' because when trying to fire up the 'MobyLinux' instance in Hyper-V, it never fires up always bombing at:
tsc: Fast TSC calibration failed
I understand this to be some time dependent sync that has to happen at boot time or such failure occurs. I bought a WD 1TB SSD on a Thunderbolt dock to speed up the run/boot time of the virtual. (it was on my platter RAID cage before) to no avail. No diff.
Parallels IS set to 'enable nested virtualization' and I have started a virtual in Hyper-V on the win 10 Pro VM just fine, no errors. I have checked and unchecked 'PMU Virtualization' which I understand will provide statistics to the host but slow the VM.
I tried:
reducing the number of assigned cores to the VM as suggested by
another post to no avail (2-6 cores tried)
Reducing the cores to '1' for Docker (and mixing with above attempt)
increasing the number of cores to docker
adding/reducing memory to VM/Docker
playing with the
C:\Program
Files\Docker\Docker\resources\MobyLinux.ps1
file that loads the VM whereas in another post I changed something to
verifying that "C:\Users\Public\Documents\Hyper-V\Virtual hard disks\MobyLinuxVM.vhdx" is teh correct location for the .vhdx
verifying that the .iso is at "C:\Program Files\Docker\Docker\Resources\mobylinux.iso"
uninstalling Hyper-v/reinstalling Hyper-v manually and letting Docker do it automatically
...
I am at wit's end. I specifically bought this machine so I could do my MS/Visual Studio development along with iOS development on the same box. I have done so, this way, for the past 5-6 years with a 2009 Mac Pro before and now my 2013 MP, but never with Docker before...
So, I need one of two solutions:
a way to make Visual Studio 2015/2017 'look' at my host Mac's Docker instance in order to debug/move on to development
a way to make this 'MobyLinux' Docker vm run.
I was having the same issues and I had initially set the memory to the highest levels allotted and Docker just flat would not run in the Windows box. After tinkering with it for a while I realized that in the Windows box I had not done any of the updates so I ran all those and logged back in, and was getting the same issues of docker not running. That is when I moved over to Parallels and made the changes shown below. Hopefully that helps!
result of docker version:
https://a.cl.ly/kpumLPz4
hyper v:
https://a.cl.ly/jkunldkm
settings in parallels:
https://a.cl.ly/QwuGKq1D
additional settings in parallels that I changed:
https://a.cl.ly/9ZuNElnb
command that I ran for hello_world:
docker run --rm busybox echo hello_world
windows docs on Linux containers 10
docker docs on windows install

how to run Docker in Travis hosted in travis-ci.com

I am trying to run some tests in Travis CI using Docker (and docker-compose).
A search on "run docker in Travis" does yield several how-to-do results, but none of these seem to be running remotely on Travis CI (travis-ci.com), instead I assume are on local Travis.
The answers to the closest question I found, Can travis-ci run docker? , have not helped me so far.
The problem I encounter is that Travis CI runs Ubuntu 12.04 on an outdated kernel and installing Docker requires updating the kernel and rebooting - but 'sudo reboot' will cause the virtual machine to be destroyed and leads to an infinite cycle of [install kernel -> reboot -> install_kernel ...]
Just wanted to drop in a quick note that Docker support for Travis CI is now official: http://blog.travis-ci.com/2015-08-19-using-docker-on-travis-ci/
It's support Docker and Docker-compose.
https://github.com/moul/travis-docker claims support for Docker in Travis. It apparently uses User Mode Linux to achieve this. I haven't tried this yet.
I know it does not help you with travis-ci but I build my docker image on circle-ci. Also Circle-CI just upgraded to docker 1.6.2.
My build file can be found here:
https://github.com/blacklabelops/jenkins/blob/master/circle.yml

Resources