-
Notifications
You must be signed in to change notification settings - Fork 396
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
MSYS2 in a Windows container #30
Comments
Hi @peterbud, I've created your Docker image and compared running pacman.exe in a container and on the host, inspecting it with Sysinternals Process Monitor. Starting a program and just coming back to the prompt seemed to me like there is missing a DLL or something. Then I just tried to redirect the output of the command in a container.
So, the binaries start, but does not show anything in the console. I've seen an issue about ConEmu inside a Windows container Maximus5/ConEmu#829, they also have problems. As the process running inside a container must be forwarded to a real shell (or in my case a remote Mac terminal) this may cause problems reading the terminal size etc. |
Interesting enough is when you add a line before the RUN C:\msys64\usr\bin\pacman.exe --help and then build the Docker image you see the output:
|
Also running without pseudo TTY (
|
So if you want to build something inside a Dockerfile it could work, only the interactive mode doesn't work. |
Same directly on my Win2016 Docker host with Docker 1.13.0-rc2 installed
|
There was a problem with MSYS2 with |
Hi @StefanScherer , thanks for looking into the issue wit an expert eye. You actually gave an idea to me, if I set up the MSYS2 environment with the dockerfile, I could use it to build packages as I originally intended. Nevertheless the pseudo tty seems not to work perfectly yet. I guess the same issue is present if you try to put a Git for Windows in a container, as it is also using MSYS2 shell. |
I'll close this issue as it cannot be fixed in this repo. Feel free comment your results :-) |
Hi Stefan, finally I had some time to test this in my environment. Ineterstingly, it was not working for me: having an interactive session:
Also adding to the docker file resulted an error:
Maybe we are working with different versions of docker?
Which version you were using? |
I'm using the same version. Which version is your base image? docker run microsoft/windowsservercore powershell -command '$(gp ''HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion'').BuildLabEx' for me it's 14393.447
|
To update the base images, just run
|
This is misterious. I have the same version. Nevertheless I have tried to update the base image, but it confirms that it is the same. Using:
What is your docker host? I'm running docker on a WIndows 10 Pro v1607 |
So, I run the same dockerscript on my Azure Windows Server 2016 with containers machine - and it works there, just as in your case, so it has to do something with the docker host being Windows 10. Am I right the best way to submit an issue to the docker team? |
I'm stressing conference WiFi to pull windowsservercore :-) I'll try to reproduce on Windows 10. |
Stuck at 2,4GB + the already downloaded Windows update layer.
After retrying it begins to download from zero. Oh, it would be helpful if these downloads would continue to get it through flaky networks.
|
Let me know if you can confirm the same with Windows 10 Pro host, then I'll open an issue at the docker repository |
Couldn't download it today. The best would be filing an issue in docker/for-win if you're using D4Win beta 31 |
I have a use case for git in a Windows 10 Pro Docker Container. ssh and ssh utilities do not operate. Inspecting the container event log shows a crash occured in msys-2.0.dll (below). Any idea if there is a solution or workaround?
|
Just wanted to mention for reference purposes: |
Hi Stefan,
your examples and tips are great help for me.
I'm trying to build a Windows container with MSYS2
I was able to build an image based on windowsservercore. I have created a dockerfile, which downloads and installs 7z, and the latest MSYS2 tar, and extracts it:
So far so good. I can run the image with interactive shell - no problem:
docker run -it --rm msys2
Bur when I try to execute a simple command like
C:\msys64\usr\bin\pacman.exe --help
there is no message on the stdout
What is needed to see the stdout for MSYS2 binaries in an interactive shell?
The text was updated successfully, but these errors were encountered: