LINUX.ORG.RU

Где искать настройки докера? Нужно перенести на другой сервер

 ,


0

1

Вот такой вопрос: нужно перенести docker контейнеры на другой сервер. Работал только с lxc и то немного. Где искать его конфиги? Вот установлю я docker, а в кроне прописано docker restart container1. Ведь где-то прописан путь к контейнеру, раз он вызывается без пути? Вот вопрос где?

★★★★★

Последнее исправление: Qwentor (всего исправлений: 1)

Нигде. Ковыряй docker inspect container1 и додумывай, с какими параметрами он запускался (там в принципе всё есть).

PS: ещё не забудь про volumes.

PPS: а вообще, с такими запросами, делегируй задачу кому-нибудь, кто в этом разбирается.

TL;DR: сами контейнеры никому не нужны, нужны их параметры и данные.

beastie ★★★★★
()
Последнее исправление: beastie (всего исправлений: 3)
Ответ на: комментарий от beastie

На первом сервере уже все остановлено.

docker inspect container1
выдает
[]
Error: No such object: container1

И что с этим делать? В директории с парсером, которую я скопировал есть файл на 26 ГБ с именем Dockerfile - это оно?

Qwentor ★★★★★
() автор топика
Последнее исправление: Qwentor (всего исправлений: 1)

Контейнеры не предназначены для переноса. Подразумевается, что они собираются из скрипта и работают. Поэтому например им левой пяткой приклось впиливать хранилища данных (named volumes), и поэтому при ребуте контенеры пересоздаются.

А вообще да, они действительно лежат где-то около корневого раздела, я даже переносил их на отдельный диск, но не по отдельности, а всем скопом.

Dred ★★★★★
()
Ответ на: комментарий от beastie

Нашел файл docker-compose.yml
Там следующее:

version: '2.1'
services:
  db:
    image: mongo
    container_name: marathon_db
    ports:
      - "27017:27017"
    volumes:
      - ./db:/data/db

  npm:
    build: ./images/node
    image: nodejs
    container_name: marathon_npm
    volumes:
     - ./sours:/root/sours
    command: bash -c "npm install"

  parsers:
    build: ./images/node
    image: nodejs
    container_name: marathon
    volumes:
     - ./sours:/root/sours
    command: bash -c "npm start"
    network_mode: "host"
    depends_on:
     - db

  output:
    build: ./images/node
    image: nodejs
    container_name: marathon_out
    volumes:
     - ./sours:/root/sours
    command: bash -c "node output.js"
    ports:
      - "8080:8080"
    depends_on:
     - db
    network_mode: "host"





Это как-то поможет?

Qwentor ★★★★★
() автор топика
Ответ на: комментарий от Qwentor

А вот это как раз тебе очень поможет.

Копируй содержание этой директории на другой хост. И ещё не забудь содержание volumes. В частонсти /data/db и /root/sours

А там уже просто docker-compose up -d

Документацию к docker-compose и как его установить, надеюсь сам найдёшь.

beastie ★★★★★
()
Ответ на: комментарий от Qwentor

И где искать named volumes?

полагаю хранятся вместе с обычными, но не разбирался, могу ошибаться

Я бы искал где-то в в /var/lib/docker

Dred ★★★★★
()
Последнее исправление: Dred (всего исправлений: 1)

Где искать настройки докера?

/var/lib/docker

robot12 ★★★★★
()
Ответ на: комментарий от Qwentor

есть файл на 26 ГБ с именем Dockerfile

Я да же боюсь представить себе такое.

robot12 ★★★★★
()
Ответ на: комментарий от Dred

Контейнеры не предназначены для переноса. Подразумевается, что они собираются из скрипта и работают.

Контейнер = данные + код (image)

Для хранения кода есть регистри. Но состояние контейнера всегда можно сохранить docker commit.

и поэтому при ребуте контенеры пересоздаются.

Не правда. Контейнеры в состоянии stopped не пересоздаются, а просто запускаются, в том виде, в котором остановились.

robot12 ★★★★★
()
Ответ на: комментарий от anonymous

Зачем Вы даёте ссылки на бред ?

Поднимаете на целевой системе docker/registry, запущенным контейнерам можно сделать docker commit и docker push их в regisrty.

Зачем там tar'овая магия не ясно.

TIP: на btrfs еще проще btrfs send ...

robot12 ★★★★★
()
Ответ на: комментарий от anonymous

Registry для одного раза нет смысла поднимать.

Его надо поднимать когда свои образы делаешь, что бы не мучаться :)

robot12 ★★★★★
()

Думаю меня поправят, но я бы переносил образы. можно тарить (save или import, только почитай чем они отличаются) их, можно, и это кошернее кмк, поднять regiistry и выложить их туда. Контейнер это так-то запущенный образ.

gadzira
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.