pyveci / racker Goto Github PK
View Code? Open in Web Editor NEWRacker is an experimental harness tool for provisioning and running operating system containers.
License: GNU Affero General Public License v3.0
Racker is an experimental harness tool for provisioning and running operating system containers.
License: GNU Affero General Public License v3.0
Maybe add to "Prior Art" section.
Like vagrant up --provision
, we might want to add this flag to the racker run
command line in order to run re-provisioning of the WDM Vagrant machine.
When already having this flag, it can also be used to reset the checkout of the Windows Docker Machine repository.
We will need to employ caching at some spots. We are looking at using DiskCache here.
References:
With #4, the Windows subsystem gets actually usable. However, it currently has three speed bumps when looking at optimizing the "time-to-shell" 1.
Before launching the container, we need to inspect its image in order to select which WDM host to use (Windows 2016, 2019, or 2022). On certain container images, we observed this can take up to three seconds when using skopeo inspect
.
$ time skopeo --override-os=windows inspect --config --no-tags docker://docker.io/eclipse-temurin:18-jdk > /dev/null
real 0m3.262s
user 0m0.026s
sys 0m0.212s
We need to mitigate that speed bump, for example by caching the output of the skopeo inspect
call. It will not be too difficult.
Currently, docker build
is invoked on every invocation. Getting rid if it will save another 0.5 seconds.
We are asking the community about any guidance on this matter. Does PowerShell really have such a large invocation overhead when compared to the cmd
shell?
With the cmd
program, it takes around 1.4 to 2.6 seconds to spawn a shell.
time racker run --rm --platform=windows/amd64 mcr.microsoft.com/windows/servercore:{ltsc2016,ltsc2019,ltsc2022} -- cmd /C exit
The powershell
program takes around 3.1 to 4.7 seconds to spawn a shell.
time racker run --rm --platform=windows/amd64 mcr.microsoft.com/windows/servercore:{ltsc2016,ltsc2019,ltsc2022} -- powershell -Command exit
The time needed to launch a container and connect your terminal to a shell inside the container. โฉ
Add feature for bind-mounting a host directory.
It is important for being able to continue editing within your working tree on your workstation, while you will invoke the program(s) within the container, as usual.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.