Подключитесь к удаленному серверу Linux и загрузите образы

У меня есть сервер VM Linux, размещенный в Azure, и при каждой фиксации (VSTS) на сервере должны запускаться последние образы.

Я создал файл ssh, который очищает старые образы и контейнеры, входит в репозитории Azure, загружает последний образ и затем запускает образы.

РЕДАКТИРОВАТЬ: В каком-то смысле это работает, но я получаю несколько ошибок:

2018-07-10T13:40:20.5189780Z ##[error]WARNING! Using --password via the CLI is insecure. Use --password-stdin.
2018-07-10T13:40:20.7698990Z Login Succeeded
2018-07-10T13:40:20.8902720Z ##[error]Unable to find image 'xxx/xxx:latest' locally
2018-07-10T13:40:22.3204967Z ##[error]latest: Pulling from webapp
2018-07-10T13:40:22.3265860Z ##[error]cc1a78bfd46b: Pulling fs layer
2018-07-10T13:40:22.3324371Z ##[error]ccd8cd166265: Pulling fs layer
2018-07-10T13:40:22.3426675Z ##[error]8dadded8f35b: Pulling fs layer
2018-07-10T13:40:22.3494260Z ##[error]4ac1a8781396: Pulling fs layer
2018-07-10T13:40:22.3557213Z ##[error]358b1e620f36: Pulling fs layer
2018-07-10T13:40:22.3618978Z ##[error]9ecafc783f75: Pulling fs layer
2018-07-10T13:40:22.3680191Z ##[error]bd4678161c75: Pulling fs layer
2018-07-10T13:40:22.3740329Z ##[error]4ac1a8781396: Waiting
2018-07-10T13:40:22.3800435Z ##[error]358b1e620f36: Waiting
2018-07-10T13:40:22.3866640Z ##[error]9ecafc783f75: Waiting
2018-07-10T13:40:22.3929010Z ##[error]bd4678161c75: Waiting
2018-07-10T13:40:22.9945500Z ##[error]8dadded8f35b: Verifying Checksum
2018-07-10T13:40:23.0005648Z ##[error]8dadded8f35b: Download complete
2018-07-10T13:40:25.0963066Z ##[error]ccd8cd166265: 
2018-07-10T13:40:25.1014550Z ##[error]Verifying Checksum
2018-07-10T13:40:25.1066534Z ##[error]ccd8cd166265: 
2018-07-10T13:40:25.1117790Z ##[error]Download complete
2018-07-10T13:40:26.7344417Z ##[error]4ac1a8781396: 
2018-07-10T13:40:26.7405020Z ##[error]Verifying Checksum
2018-07-10T13:40:26.7461298Z ##[error]4ac1a8781396: 
2018-07-10T13:40:26.7516892Z ##[error]Download complete
2018-07-10T13:40:28.0278005Z ##[error]cc1a78bfd46b: 
2018-07-10T13:40:28.0332847Z ##[error]Verifying Checksum
2018-07-10T13:40:28.0387928Z ##[error]cc1a78bfd46b: 
2018-07-10T13:40:28.0444564Z ##[error]Download complete
2018-07-10T13:40:28.4992403Z ##[error]9ecafc783f75: 
2018-07-10T13:40:28.5050705Z ##[error]Verifying Checksum
2018-07-10T13:40:28.5104450Z ##[error]9ecafc783f75: 
2018-07-10T13:40:28.5159300Z ##[error]Download complete
2018-07-10T13:40:30.3861425Z ##[error]bd4678161c75: 
2018-07-10T13:40:30.3913603Z ##[error]Verifying Checksum
2018-07-10T13:40:30.3969439Z ##[error]bd4678161c75: 
2018-07-10T13:40:30.4024295Z ##[error]Download complete
2018-07-10T13:40:33.4125795Z ##[error]358b1e620f36: 
2018-07-10T13:40:33.4178631Z ##[error]Verifying Checksum
2018-07-10T13:40:33.4237092Z ##[error]358b1e620f36: 
2018-07-10T13:40:33.4290332Z ##[error]Download complete
2018-07-10T13:40:54.0405962Z ##[error]cc1a78bfd46b: 
2018-07-10T13:40:54.0456335Z ##[error]Pull complete
2018-07-10T13:41:03.6392342Z ##[error]ccd8cd166265: 
2018-07-10T13:41:03.6445632Z ##[error]Pull complete
2018-07-10T13:41:04.5351618Z ##[error]8dadded8f35b: 
2018-07-10T13:41:04.5404186Z ##[error]Pull complete
2018-07-10T13:41:14.9043083Z ##[error]4ac1a8781396: 
2018-07-10T13:41:14.9094716Z ##[error]Pull complete
2018-07-10T13:41:37.4354624Z ##[error]358b1e620f36: 
2018-07-10T13:41:37.4408033Z ##[error]Pull complete
2018-07-10T13:41:37.8392568Z ##[error]9ecafc783f75: 
2018-07-10T13:41:37.8449868Z ##[error]Pull complete
2018-07-10T13:41:38.6568749Z ##[error]bd4678161c75: 
2018-07-10T13:41:38.6623600Z ##[error]Pull complete
2018-07-10T13:41:38.7540707Z ##[error]Digest: sha256:xxx
2018-07-10T13:41:38.8488559Z ##[error]Status: Downloaded newer image for xxx/xxx:latest 
2018-07-10T13:41:39.3152654Z ##[error]docker: Error response from daemon: network idm_bridge not found.
2018-07-10T13:41:39.3216281Z ##[error]Command failed with errors on remote machine.
2018-07-10T13:41:39.5011532Z ##[section]Finishing: Run shell script on remote machine

Это мой файл ssh:

# Cleanup
docker stop $(docker ps -a -q)  # Stop all containers
docker rm $(docker ps -a -q)    # Delete all containers
docker rmi $(docker images -q)  # Delete all images

# Download and run images
docker login xxx --username xxx --password xxx
docker run -d -p 5000:80 --network=xxx xxx/xxx

Ошибок не вижу, только предупреждение о --password. Невозможно найти изображение - это нормально, потому что вы только что удалили изображения с помощью docker rmi. Вытягивание слоя fs - это нормальный вывод из docker pull, когда изображение не найдено локально.

Teemu Risikko 11.07.2018 08:26

@TeemuRisikko Я обновил свой вопрос

Tico 11.07.2018 08:49

Похоже, в добавленном вами выходе есть довольно явная ошибка; механизм вроде работает нормально.

David Maze 11.07.2018 12:45

Вы также можете исследовать инструменты автоматизации, такие как Ansible, которые могут сделать «ssh куда-то и что-то сделать», работающие за вас. Менеджер кластера, такой как Kubernetes, может быть тяжелым, но он решит конкретную проблему: «Я создал новый образ Docker, и теперь мне нужен удаленный сервер для его запуска».

David Maze 11.07.2018 12:47

@isidorouk Сначала вы можете проверить сеть с помощью docker network ls. И вы также можете сослаться на аналогичную проблему здесь github.com/moby/moby/issues/31226.

Marina Liu 12.07.2018 10:37

@isidorouk Ваша проблема уже решена?

Marina Liu 20.07.2018 10:25

@ MarinaLiu-MSFT нет

Tico 24.07.2018 14:59

@ Что будет, если вы выполните команды докера вручную? Или что, если вы добавите docker stack rm в свой ssh ​​файл?

Marina Liu 25.07.2018 11:22

@ MarinaLiu-MSFT, когда я запускаю команды вручную (не в файле сценария), я не получаю никаких ошибок.

Tico 28.07.2018 11:40
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
9
72
0

Другие вопросы по теме