Я пытаюсь запустить блокнот на платформе Google Cloud AI Platform, используя собственный образ. Я следовал практике, описанной здесь:
https://cloud.google.com/ai-platform/deep-learning-containers/docs/derivative-container
Итак, чтобы построить и сделать sh образ docker:
gcloud auth configure-docker
export PROJECT=$(gcloud config list project --format "value(core.project)")
docker build . -f Dockerfile -t "gcr.io/${PROJECT}/my-custom-image:latest"
docker push "gcr.io/${PROJECT}/my-custom-image:latest"
Однако при попытке подключиться к экземпляру Notebook с использованием этого образа
gcloud compute --project "myproject" ssh --zone "myzone" "custom-test" -- -L 8080:localhost:8080
я получаю
ssh: connect to host XXX.XXX.XXX.XXX port 22: Connection refused
Это происходит, даже если я просто использую базовый образ без каких-либо изменений, например, с этот файл Docker:
FROM gcr.io/deeplearning-platform-release/base-cpu:latest
Если я запускаю экземпляр Notebook на основе gcr.io/deeplearning-platform-release/base-cpu:latest
напрямую, я могу подключиться к нему, как ожидалось.
EDIT 1: из журнала последовательного порта 1:
May 9 16:51:31 custom-test GCEGuestAgent[673]: 2020-05-09T16:51:31.7524Z GCEGuestAgent Info: Updating keys for user MYUSER.
[ 206.144111] google_guest_agent[673]: 2020/05/09 16:51:33 logging client: rpc error: code = PermissionDenied desc = The caller does not have permission
May 9 16:51:33 custom-test google_guest_agent[673]: 2020/05/09 16:51:33 logging client: rpc error: code = PermissionDenied desc = The caller does not have permission
May 9 16:53:25 custom-test ntpd[707]: kernel reports TIME_ERROR: 0x41: Clock Unsynchronized
Кажется, это ошибка разрешения, но я не уверен, почему у меня не было бы разрешения на развертывание образа, который я отправил из той же учетной записи. Может ли это быть связано с custom-test ntpd[707]: kernel reports TIME_ERROR: 0x41: Clock Unsynchronized
?
РЕДАКТИРОВАТЬ 2: Теперь, примерно через час, я могу подключиться (без изменений). Но при доступе к localhost:8080
я получаю:
channel 4: open failed: connect failed: Connection refused
channel 3: open failed: connect failed: Connection refused
в качестве вывода в подключенной консоли.
Из журнала последовательного порта 1:
May 9 18:04:36 custom-test systemd[1]: Started Session 4 of user MYUSER.
May 9 18:04:36 custom-test GCEGuestAgent[673]: 2020-05-09T18:04:36.5636Z GCEGuestAgent Info: Updating keys for user MYUSER.
May 9 18:04:37 custom-test google_guest_agent[673]: 2020/05/09 18:04:37 logging client: rpc error: code = PermissionDenied desc = The caller does not have permission
[ 4590.862794] google_guest_agent[673]: 2020/05/09 18:04:37 logging client: rpc error: code = PermissionDenied desc = The caller does not have permission
РЕДАКТИРОВАТЬ 3: Запуск образ как виртуальная машина приводит к:
[ 26.315675] konlet-startup[535]: 2020/05/09 19:34:57 Launching user container 'gcr.io/myproject/my-custom-image:latest'
[ 26.315713] konlet-startup[535]: 2020/05/09 19:34:57 Configured container 'instance-1-test' will be started with name 'klt-instance-1-test-azmb'.
[ 26.315740] konlet-startup[535]: 2020/05/09 19:34:57 Pulling image: 'gcr.io/myproject/my-custom-image:latest'
[ 26.839555] konlet-startup[535]: 2020/05/09 19:34:57 Error: Failed to start container: Error response from daemon: {"message":"pull access denied for gcr.io/myproject/my-custom-image, repository does not exist or may require 'docker login': denied: Permission denied for \"latest\" from request \"/v2/myproject/my-custom-image/manifests/latest\". "}
[ 26.839839] konlet-startup[535]: 2020/05/09 19:34:57 Saving welcome script to profile.d