Giter Club home page Giter Club logo

Comments (14)

rn avatar rn commented on July 23, 2024 1

@Jaykul making WIndows containers and Docker for Windows work easily together is definitely something we are working on. But before that is done you can run them side by side as described by @friism in this forum post: https://forums.docker.com/t/linux-and-windows-images-side-by-side/20518

It's a little pedestrian for now, but please let me know if this works for now.

from for-win.

friism avatar friism commented on July 23, 2024 1

@Jaykul the app:

  1. starts and stops the hyper-v VM
  2. starts and stops the on-host proxy which proxies the engine API from Linux unix socket to windows named pipe
  3. proxies networking to avoid problems with VPNs, etc.
  4. Manages volume sharing from host to containers.

from for-win.

rn avatar rn commented on July 23, 2024

Thanks for the report. Out of curiosity, why do you want to stop the service? When the app is not running it shouldn't consume many resources.

from for-win.

Jaykul avatar Jaykul commented on July 23, 2024

That is a great question @rneugeba 😄

I'm new, and I haven't figured out how to get both the Linux Container Server service and the Windows one to work simultaneously -- they both want to use the same pipe address for communication...

from for-win.

Jaykul avatar Jaykul commented on July 23, 2024

That's very helpful, thanks ... I was looking for that -H syntax, but got distracted reading about runtimes in the configuration (which I now see aren't even available on Windows).

Much to learn.

from for-win.

rn avatar rn commented on July 23, 2024

FYI, you need to start dockerd from an elevated prompt, but you connected to it via -H from a normal user if you pass -G <your user name> as the dockerd command line argument.

Closing this issue for now

from for-win.

Jaykul avatar Jaykul commented on July 23, 2024

I don't think you should close it. The problem is real, and ought to be
fixed. I shouldn't need to rely on the desktop app to restart docker (and
the fact that the desktop app has a button to do so is enough argument that
this functionality is needed).

On Thu, Aug 18, 2016, 5:33 AM Rolf Neugebauer [email protected]
wrote:

FYI, you need to start dockerd from an elevated prompt, but you connected
to it via -H from a normal user if you pass -G as the
dockerd command line argument.

Closing this issue for now


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#41 (comment), or mute
the thread
https://github.com/notifications/unsubscribe-auth/AALxrleHHB8W64qkNBMG4BDtzyGswDdrks5qhCbZgaJpZM4JmMNI
.

from for-win.

rn avatar rn commented on July 23, 2024

I guess, I don't understand what the issue is. When I stop the service and then start the app, it asks me to restart the service and if you select Start it starts the service and the app.
screen shot 2016-08-19 at 14 54 20

from for-win.

Jaykul avatar Jaykul commented on July 23, 2024

Yes. And if you only start it that way it works. But it only works if you start it with the systray app. If you follow the steps in the original post, and

stop-service com.docker.service
start-service com.docker.service

When you look in the app, it will think everything is fine ... but if you try commands like docker version, you'll just get errors. You end up having to use the Systray app to restart it to get it working again.

The same thing happens if you stop/start or restart the service from the task manager or services control panel...

from for-win.

rn avatar rn commented on July 23, 2024

Then don't start the service from the command line :)
I can understand why you might want to stop the service, but the service is only useful in conjunction with the application, so let the app start it when it needs it.

from for-win.

Jaykul avatar Jaykul commented on July 23, 2024

the service is only useful in conjunction with the application

Wait, what? Huh? Maybe this is what I'm not getting. Why is the service only useful in conjunction with the application?

I mean, we're using the docker cli or the PowerShell module to actually manage docker images and containers, the app basically just pops up and tells us we can do that.

However, regardless, YOU CANNOT just let the app start the service, because the app won't start it, ever. If for any reason, you have stopped the docker service, here's what happens:

You run a command and it fails with that open //./pipe/docker_engine: The system cannot find the file specified. error ... you investigate and notice the service is not running. You can either reboot, or:

  1. Click the system tray expando thing,
  2. Find and right-click the docker icon
    4, Choose "Settings..." or "Diagnose and feedback" from the pop-up menu
  3. Switch to the Reset tab
  4. Click "Restart Docker..."
  5. POPUP WARNING. It's going to shut all containers down (but they're already down, so) click "Restart" again.
    8, Wait.
  6. Keep waiting.
  7. Yep, you guessed it. Wait some more. Unless you manually restarted the service before you tried this, you're just waiting for the thing to fail and time out.
  8. After a while --maybe up to three minutes, I haven't actually clocked it, because I keep missing the pop-under-- you notice the error dialog Failed to connect to dockerBackend: time out
  9. Close the error dialog (possibly sending the crash report) and reboot or:
    1. (Hopefully) Realize the systray app is not clever enough to check for the service.
    2. Open task manager, or services, or powershell
    3. Restart the service by hand
    4. Try the docker cli or powershell commands and still get An error occurred trying to connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.24/version: open //./pipe/docker_engine: The system cannot find the file specified.
  10. Repeat Steps 2-8 again, this time with success

So you see, you have to first start the service by hand, and then restart it from the app.

In the ideal scenario, I should only have to restart the service.

In a worst-case scenario, when I bring up the GUI app from the systray, it should notice right away that it can't connect, and check the service, and offer to restart Docker... and when it tries to restart it, it should (re)start the service.

from for-win.

rn avatar rn commented on July 23, 2024

The application, ie the systray icon, will start the com.docker.service service when it starts and the service is not running (see the dialogue screenshot above). What you seem to be doing is to stop the service while the app is running and then manually restart the service while the app is still running. And yes, in that case the app (systray) will not be able to reconnect to the service.

If you want to stop the service (for whatever reason) you should also close the app because without the service running you don't really have a functioning app. If you then restart the app (systray) it will prompt you if you want to restart the service.

from for-win.

Jaykul avatar Jaykul commented on July 23, 2024

So, is that the whole function of the app? Does it just start and fix the service? Or is it providing a bridge from a named pipe in the user space to the service, or what?

I mean, the other docker daemon (eg. from https://master.dockerproject.org/windows/amd64/docker-1.13.0-dev.zip) doesn't need the app, the service in that one stops and starts without problems.

from for-win.

docker-robott avatar docker-robott commented on July 23, 2024

Closed issues are locked after 30 days of inactivity.
This helps our team focus on active issues.

If you have found a problem that seems similar to this, please open a new issue.

Send feedback to Docker Community Slack channels #docker-for-mac or #docker-for-windows.
/lifecycle locked

from for-win.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.