Skip to content
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

When running centos platform==amd64 on m1 max , it takes too much time for ssh connection. #6273

Closed
2 of 3 tasks
HYEONSEOK1 opened this issue Apr 11, 2022 · 3 comments
Closed
2 of 3 tasks

Comments

@HYEONSEOK1
Copy link

HYEONSEOK1 commented Apr 11, 2022

docker run -d --name centos7 --platform linux/amd64 centos:7.4.1708
After configuring ssh through this command, I tried to connect via ssh, but it takes too long.
It takes about 3 minutes.
Perhaps my guess is that there is a problem with the ssh setting when forcibly running as platform amd64 on the apple chip.
I also ran the tcp echo server just in case, but the tcp echo server runs just fine.
As it runs very well with no time taken when running centos 7.9.2009 with arm64, I think this is a problem that occurs when forcibly running from an apple chip to amd64.

  • I have tried with the latest version of Docker Desktop
  • I have tried disabling enabled experimental features
  • I have uploaded Diagnostics
  • Diagnostics ID:

Expected behavior

The ssh connection should work without any problems. from apple chip

Actual behavior

When running on Apple chip, ssh connection takes about 3 minutes.

Information

  • macOS Version: 12.1
  • Intel chip or Apple chip: Apple chip
  • Docker Desktop Version: 4.6.1

Output of /Applications/Docker.app/Contents/MacOS/com.docker.diagnose check

Starting diagnostics

[PASS] DD0027: is there available disk space on the host?
[PASS] DD0028: is there available VM disk space?
[PASS] DD0031: does the Docker API work?
[PASS] DD0004: is the Docker engine running?
[PASS] DD0011: are the LinuxKit services running?
[FAIL] DD0016: is the LinuxKit VM running? vm is not running: vm has not started
[PASS] DD0001: is the application running?
[PASS] DD0018: does the host support virtualization?
[FAIL] DD0017: can a VM be started? vm has not started: vm has not started
[FAIL] DD0015: are the binary symlinks installed? /usr/local/bin/kubectl is not a symbolic link
[PASS] DD0003: is the Docker CLI working?
[PASS] DD0013: is the $PATH ok?
[PASS] DD0007: is the backend responding?
[PASS] DD0014: are the backend processes running?
[PASS] DD0008: is the native API responding?
[PASS] DD0009: is the vpnkit API responding?
[PASS] DD0010: is the Docker API proxy responding?
[FAIL] DD0012: is the VM networking working? network checks failed: failed to ping host: exit status 1
[2022-04-11T04:57:31.873789000Z][com.docker.diagnose][I] ipc.NewClient: 839feb16-diagnose-network -> /Library/Containers/com.docker.docker/Data/diagnosticd.sock diagnosticsd
[common/pkg/diagkit/gather/diagnose.runIsVMNetworkingOK()
[ common/pkg/diagkit/gather/diagnose/network.go:34 +0x130
[common/pkg/diagkit/gather/diagnose.(*test).GetResult(0x100f08c20)
[ common/pkg/diagkit/gather/diagnose/test.go:46 +0x44
[common/pkg/diagkit/gather/diagnose.Run.func1(0x100f08c20)
[ common/pkg/diagkit/gather/diagnose/run.go:17 +0x48
[common/pkg/diagkit/gather/diagnose.walkOnce.func1(0x1, 0x100f08c20)
[ common/pkg/diagkit/gather/diagnose/run.go:140 +0xa0
[common/pkg/diagkit/gather/diagnose.walkDepthFirst(0x1, 0x100f08c20, 0x14000349818)
[ common/pkg/diagkit/gather/diagnose/run.go:146 +0x40
[common/pkg/diagkit/gather/diagnose.walkDepthFirst(0x0, 0x100f08aa0, 0x14000349818)
[ common/pkg/diagkit/gather/diagnose/run.go:149 +0x80
[common/pkg/diagkit/gather/diagnose.walkOnce(0x100f08aa0, 0x1400035f960)
[ common/pkg/diagkit/gather/diagnose/run.go:135 +0x90
[common/pkg/diagkit/gather/diagnose.Run(0x100f08aa0, 0x100f08da0, {0x1400035fad8, 0x1, 0x1})
[ common/pkg/diagkit/gather/diagnose/run.go:16 +0x188
[main.checkCmd({0x140001c0010, 0x0, 0x0}, {0x0, 0x0})
[ common/cmd/com.docker.diagnose/main.go:131 +0x114
[main.main()
[ common/cmd/com.docker.diagnose/main.go:97 +0x378
[2022-04-11T04:57:31.873885000Z][com.docker.diagnose][I] (17777699) 839feb16-diagnose-network C->S diagnosticsd POST /check-network-connectivity: {"ips":["172.30.1.22","172.31.180.217"]}
[2022-04-11T04:57:32.409638000Z][com.docker.diagnose][E] (17777699) 839feb16-diagnose-network C<-S 1e0ef213-diagnosticsd POST /check-network-connectivity (535.75325ms): failed to ping host: exit status 1
[common/pkg/diagkit/gather/diagnose.runIsVMNetworkingOK()
[ common/pkg/diagkit/gather/diagnose/network.go:35 +0x1bc
[common/pkg/diagkit/gather/diagnose.(*test).GetResult(0x100f08c20)
[ common/pkg/diagkit/gather/diagnose/test.go:46 +0x44
[common/pkg/diagkit/gather/diagnose.Run.func1(0x100f08c20)
[ common/pkg/diagkit/gather/diagnose/run.go:17 +0x48
[common/pkg/diagkit/gather/diagnose.walkOnce.func1(0x1, 0x100f08c20)
[ common/pkg/diagkit/gather/diagnose/run.go:140 +0xa0
[common/pkg/diagkit/gather/diagnose.walkDepthFirst(0x1, 0x100f08c20, 0x14000349818)
[ common/pkg/diagkit/gather/diagnose/run.go:146 +0x40
[common/pkg/diagkit/gather/diagnose.walkDepthFirst(0x0, 0x100f08aa0, 0x14000349818)
[ common/pkg/diagkit/gather/diagnose/run.go:149 +0x80
[common/pkg/diagkit/gather/diagnose.walkOnce(0x100f08aa0, 0x1400035f960)
[ common/pkg/diagkit/gather/diagnose/run.go:135 +0x90
[common/pkg/diagkit/gather/diagnose.Run(0x100f08aa0, 0x100f08da0, {0x1400035fad8, 0x1, 0x1})
[ common/pkg/diagkit/gather/diagnose/run.go:16 +0x188
[main.checkCmd({0x140001c0010, 0x0, 0x0}, {0x0, 0x0})
[ common/cmd/com.docker.diagnose/main.go:131 +0x114
[main.main()
[ common/cmd/com.docker.diagnose/main.go:97 +0x378

[PASS] DD0032: do Docker networks overlap with host IPs?
[SKIP] DD0030: is the image access management authorized?
[PASS] DD0019: is the com.docker.vmnetd process responding?
[PASS] DD0033: does the host have Internet access?

Please investigate the following 2 issues:

1 : The test: can a VM be started?
Failed with: vm has not started: vm has not started

The Docker engine runs inside a Linux VM. Therefore we must be able to start Virtual Machines.

2 : The test: are the binary symlinks installed?
Failed with: /usr/local/bin/kubectl is not a symbolic link

The symlinks to the docker CLI etc are needed for docker commands to work.

Steps to reproduce the behavior

  1. ...
  2. ...
@RulerOf
Copy link

RulerOf commented May 10, 2022

I'm having the same problem. Standing up a container with kitchen-docker times out endlessly because it waits for 15s and retries. I decided to run a test to see just how long it takes, and we're within 20ms of the same time on every attempt:

% time ssh kitchen@localhost -p61634 -i .kitchen/docker_id_rsa echo done
done
ssh kitchen@localhost -p61634 -i .kitchen/docker_id_rsa echo done  0.30s user 0.01s system 0% cpu 50.883 total
% time ssh kitchen@localhost -p61634 -i .kitchen/docker_id_rsa echo done
done
ssh kitchen@localhost -p61634 -i .kitchen/docker_id_rsa echo done  0.30s user 0.01s system 0% cpu 50.878 total
% time ssh kitchen@localhost -p61634 -i .kitchen/docker_id_rsa echo done
done
ssh kitchen@localhost -p61634 -i .kitchen/docker_id_rsa echo done  0.32s user 0.01s system 0% cpu 50.897 total

I assume ssh is trying to do something during login and some kind of timeout is getting hit. Adding the SYS_ADMIN capability to the container didn't change this behavior. I'll report back if I find a solution.

@docker-robott
Copy link
Collaborator

Issues go stale after 90 days of inactivity.
Mark the issue as fresh with /remove-lifecycle stale comment.
Stale issues will be closed after an additional 30 days of inactivity.

Prevent issues from auto-closing with an /lifecycle frozen comment.

If this issue is safe to close now please do so.

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

@docker-robott
Copy link
Collaborator

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

@docker docker locked and limited conversation to collaborators Oct 7, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants