Alexey
docker info что показывает?
Alexey
сменился рутдир?
Nikolay
рутдир там указан новый
Nikolay
да
Alexey
точка входа корректно указана?
Alexey
Docker Root Dir: /var/lib/docker
Nikolay
Еслиб некорректно, то не поднялся демон
Alexey
у меня на маке так
Alexey
так а в чем ошибка тогда?
Alexey
я менял рут дир на 20 тачках, везде без проблем прошло
Nikolay
В том что контент не перенесся
Alexey
контейнеров нет?
Alexey
имеджей?
Nikolay
ничего нет)
Alexey
ну значит демон не видит директории
Alexey
или прав нет или путь неверный
Nikolay
путь верный, еслиб неверный был путь, то докер не поднялся бы, запускается от рута все. Любопытно, что когда я вернул старый путь, докер тупо отваливался после старта, спасла только переустановка
Nikolay
последний стоит Docker version 18.09.5, build e8ff056
Alexey
Let's get started by modifying systemd's docker start up script. Open file /lib/systemd/system/docker.service with your favorite text editor and replace the following line where /new/path/docker is a location of your new chosen docker directory: FROM: ExecStart=/usr/bin/docker daemon -H fd:// TO: ExecStart=/usr/bin/docker daemon -g /new/path/docker -H fd:// When ready stop docker service: systemctl stop docker It is important here that you have completely stopped docker daemon. The following linux command will yield no output only if docker service is stopped: ps aux | grep -i docker | grep -v grep If no output has been produced by the above command, reload systemd daemon: systemctl daemon-reload Once this is done create a new directory you specified above and optionally rsync current docker data to a new directory: mkdir /new/path/docker rsync -aqxP /var/lib/docker/ /new/path/docker At this stage we can safely start docker daemon: systemctl start docker Confirm that docker runs within a new data directory: root 2095 0.2 0.4 664472 36176 ? Ssl 18:14 0:00 /usr/bin/docker daemon -g /new/path/docker -H fd:// root 2100 0.0 0.1 360300 10444 ? Ssl 18:14 0:00 docker-containerd -l /var/run/docker/libcontainerd/docker-containerd.sock --runtime docker-runc``` All done.
Alexey
делал так
Alexey
на центосене
Nikolay
Да я тоже этот метод находил, решил через daemon.json, т.к. так вроде бы правильнее. У меня убунта 16
Nikolay
Кажется понял в чем дело. Видимо из-за того, что я трогал именно daemon.json, другие значения кроме data-root стали дефолтными. Сторейдж драйвер изменился с древнего aufs на новый overlay2, поэтому скорее всего и не видно перенсенных данных
Nikolay
Да, проблема была в неверном сторейдж драйвере
Nikolay
Ага, я уже подумывал над этим тоже
Konstantin
а кто тут сейчас админ?
Konstantin
@atassis @vizdrag
Sergey
Там волумы описаны, смотри где он на хосте данные держит
отлично! заработало. Через mc перенёс данные по новому пути - переписал в docker-compose.yml новый service заместо старого - и всё завелось!
Anonymous
Вопрос: hub.docker.com распространяет образы по одному. Но например, для такого комплексного проекта как GitLab, очевидно, нужно много разных образов. Фактически, нужен docker-compose.yml + набор dockerfile для: GO, db, nginx, crontab, etc.... Но вместо этого они создали один мультипроцессный контейнер в котором запускаются сразу все эти процессы, что противоречит философии докера: один процесс на контейнер. Или даже контейнер=процесс. Есть ли у этой проблемы какое-то решение? Может быть есть какой-нибудь composer-hub.docker.com или что-то такое?
Anonymous
Такая комплексность, очевидно, нужна всем конечным продуктам, чтобы не хакать докер нарушая базовые принципы.
Konstantin
что-то ты не туда завернул
George
Докер - это переходный этап к к8с. Компоуз не нужен.
George
Использование докера на конечных серверах - ну, такое себе решение. При прочих равных всегда проще нарезать столько же виртуальных машин. Каждая - под отдельную задачу
Anonymous
Gitlab - конкурент Github Не исключено что не туда. Тем не менее, это из официальной документации. У них несколько сборок (коммерческая, коммьюнити, ...) и все они основаны на Omnibus GitLab: Omnibus is a way to package different services and tools required to run GitLab, so that most users can install it without laborious configuration
Anonymous
Про Хелм чарты ещё не изучал, не знаю что это такое.
Anonymous
буду смотреть
Anonymous
вот что у них написано: The GitLab Docker images are monolithic images of GitLab running all the necessary services on a single container.
George
Но это не продакшн-продакшн
Anonymous
понял куда смотреть. Спасибо!
Alex
https://ponderosa.io/blog/docker/2019/04/13/secrets-in-docker-builds/
Санжар
👍
Ramziddin
Sergei
Добрый вечер, подскажите пожалуйста, как правильно провайдить node_modules из dev-контейнера на хост (для ide)?
Sergei
Маунти папку
в композе проект запускаю.
Konstantin
Нету как правильно,. Локально делай как тебе удобно
Konstantin
в композе проект запускаю.
google:// docker-compose node_modules
Sergei
только не гугли за меня!
Sergei
Нету как правильно,. Локально делай как тебе удобно
похоже что мне удобно фронт отдельно держать, если локально. Благодарю
Sergei
Маунти папку
блин кажеться я ляпнул что то не то. Извините пожалуйста если так это получилось. в этой конфе вы не раз мне помогали, за что вам большое спасибо. по вопросу я гуглил конечно, но подходящего для себя решения не смог найти. как правило все упирается в тот факт что ангуляр хранит node_modules в корне проекта, и выдернуть его оттуда нелегко. получается что при монтировании исходников затирается node_modules, а при билде я так понимаю ничего смонтировать нельзя. кароче я просто откажусь пока от автоподстановки для своего vim, или правда буду пускать фронт отдельно (надо только научиться делать проксипасс на локальный девсервер из докер-нгинкса
Igor
Всем привет, подскажите когда docker-compose запускаем - он имена resolve внутри себя, или смотрит на моей машине? Пример: 1) Контейнер nginx 2) Контейнер serve Изнутри контейнера nginx - ping serve конечно проходит, но при попытке зайти proxy_pass говорит
Igor
#/2019/04/14 16:41:05 [error] 11#11: send() failed (111: Connection refused) while resolving, resolver: 127.0.0.1:53 Вот 127.0.0.1:53 - это хостовая машина ввиду имеется или тот что внутри?
Konstantin
Используй дня имя сервиса
Igor
Используй дня имя сервиса
По имени как раз и пробую, по имени сервиса из docker-compose
Konstantin
А сеть у них общая?
Konstantin
Да конечно,
Конфиг кидай
Igor
А сеть у них общая?
Внутрь контейнера захожу, второй пингуется)
Igor
Конфиг кидай
Вырезка nginx: container_name: nginx image: my-registry/nginx:stable volumes: - nginx_logs:/var/log/nginx:rw ports: - "80:80" - "443:443" networks: - appnet healthcheck: test: ["CMD", "curl","-X","GET","http://localhost/healthcheck"] centrifugo: container_name: centrifugo image: centrifugo/centrifugo:1.8.0 volumes: - centrifugo:/centrifugo:rw networks: - appnet healthcheck: test: ["CMD","centrifugo","version"]
Konstantin
А вообще странный резолвер, разве он доступен на локалхлст?
Igor
А вообще странный резолвер, разве он доступен на локалхлст?
В nginx прописал set $centrifugo centrifugo:8000; location / { proxy_pass_header Server; proxy_redirect off; proxy_set_header X-Scheme $scheme; proxy_pass http://$centrifugo; proxy_next_upstream error http_502; }
Igor
это что бы контейнер с nginx не падал, когда другие лежат)
Igor
и подхватывал их, когда оживают
Igor
т.к. фича с resolver в nginx платная(((
Igor
/etc/nginx # nslookup centrifugo nslookup: can't resolve '(null)': Name does not resolve Name: centrifugo Address 1: 172.27.0.4 centrifugo.docker_appnet /etc/nginx # nginx про него знает)
Konstantin
т.к. фича с resolver в nginx платная(((
Да, всё верно сделал. Вот только торможу, днс сервер вроде не на локалхост
Igor
ну по идеи сам докер должен был разобраться, куда он пихает эти данные)
Igor
Да, всё верно сделал. Вот только торможу, днс сервер вроде не на локалхост
/var/log/nginx # curl -XGET centrifugo:8000 <!DOCTYPE html> <html lang="en"> <head> <title>Centrifugo</title> <meta charset=utf-8> <meta name=description content="Web interface for Centrifugal server"> <link rel="shortcut icon" href="public/images/favicon.ico" type="image/x-icon"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <meta name="viewport" content="width=device-width"> <link rel="stylesheet" type="text/css" href="public/bootstrap/css/bootstrap.min.css"> <link rel="stylesheet" type="text/css" href="public/bundle/bundle.css?v=1"> <script type="text/javascript" src="public/bundle/bundle.js?v=1"></script> </head> <body> <div id="app"></div> </body> </html> /var/log/nginx # c nginx (докера) даже curl проходит)