@docker_ru

Страница 1231 из 1375
Andrey
15.05.2019
06:54:27
не пробовал

сейчас смотрю, что можно выкинуть через dockerignore

ildar
15.05.2019
06:55:42
быстрее же убедиться что пустой Dockerfile с пустым контекстом собирается мгновенно или тоже зависает.

Andrey
15.05.2019
06:57:48
ещё docker-compose.yaml надо написать. Напихать в докеригнор массивные файлы и попробовать перезапустить билд быстрее будет

Google
Andrey
15.05.2019
06:58:20
не сработает - тогда уже буду пустой hello-world пробовать

dockerignore помог! ?

хотя теперб он сборкой дольше занимается, там node_modules локальные ещё были ..

Роман
15.05.2019
09:29:41
Коллеги, а как в alpine команда touch работает? Пытаюсь сделать: touch -d "10 minutes ago" test.file Но он говорит: touch: invalid date '10 minutes ago' В Убунту работает.

George
15.05.2019
09:37:09
touch -h или man touch

скорее всего оно не поддерживает расширенный синтаксис, ибо бизибокс

Роман
15.05.2019
09:38:01
скорее всего оно не поддерживает расширенный синтаксис, ибо бизибокс
А есть какой-то альтернативный вариант создать файл в прошлом?

Andrey
15.05.2019
09:42:08
https://unix.stackexchange.com/questions/22600/how-to-get-3-minutes-future-date

George
15.05.2019
09:42:27
/ # touch --help BusyBox v1.29.3 (2019-01-24 07:45:07 UTC) multi-call binary. Usage: touch [-c] [-d DATE] [-t DATE] [-r FILE] FILE... Update the last-modified date on the given FILE[s] -c Don't create files -h Don't follow links -d DT Date/time to use -t DT Date/time to use -r FILE Use FILE's date/time

дату оно юзает. Только формат скорее всего не "10 minutes ago", а точная дата.

Andrey
15.05.2019
09:50:49
Роман
15.05.2019
09:52:19
Оно ведёт себя странно: touch -d "00000000" test.file Дата изменения: Nov 30 00:00 test.file

Andrey
15.05.2019
09:52:24
date +%s выдаёт время в секундах, отнимаем нужное кол-во секунд, передаём с префиксом @ чтобы парсер понял, что это epoch

Google
Роман
15.05.2019
09:52:37
10 минут назад: touch -d @"$(( `date +%s`-10*60 ))" test.file
А вот так работает. Спасибо.

Andrey
15.05.2019
09:54:42
ну а вообще, я б alpine выкинул за такие выкрутасы ?

Роман
15.05.2019
09:55:42
Я подумаю над этим).

DimaS
15.05.2019
10:16:17
Всем привет, подскажите пожалуйста! У меня есть 2 проэкта один на докере второй на локальной машине , с проэкта на докере делаю запрос на проэк на локалке, получаю такую ошибку Error:Could not resolve host как правильно сконфигурить докер чтобы можно было делать запросы с контейнера на любой проэкт на локалке?

DimaS
15.05.2019
10:25:27
network: host
я пробовал прописывать network_mode: host в docker-compose у меня просто сайт не пашет http://joxi.ru/E2pEM35f7v6NbA

@evstrat спасио вам за ответ, оставил только хост без порта и все заработало!

Trouble
15.05.2019
11:06:31
Всем ола)

А кто-нибудь пробовал внутри docker gui организовать?

George
15.05.2019
11:25:08
зачем? ну, х11 приложухи запускаются

Павел
15.05.2019
12:29:00
Господа, поможите советом

в docker-compose прописываю сервис

postgres: restart: always build: context: . dockerfile: docker/postgres/Dockerfile environment: PGPORT: "5433" ports: - "127.0.0.1:5433:5433" volumes: - ./postgres-data/data:/var/lib/postgresql/data

в postgres-data база на 50 гб и docker-compose build пытается эту базу заархивировать

Traceback (most recent call last): File "/usr/lib/python3.7/site-packages/docker/utils/build.py", line 97, in create_archive t.addfile(i, f) File "/usr/lib64/python3.7/tarfile.py", line 1972, in addfile copyfileobj(fileobj, self.fileobj, tarinfo.size, bufsize=bufsize) File "/usr/lib64/python3.7/tarfile.py", line 250, in copyfileobj dst.write(buf) File "/usr/lib64/python3.7/tempfile.py", line 481, in func_wrapper return func(*args, **kwargs) OSError: [Errno 28] No space left on device

George
15.05.2019
12:31:28
зачем? ничего он не пытается с ней

Павел
15.05.2019
12:31:32
как этого избежать?

George
15.05.2019
12:31:52
он не пытается ее архивировать - я повторюсь

по факту - у Вас места для docker build образа не хватает

из docker/postgres/Dockerfile

Google
George
15.05.2019
12:32:35
докер демон ведь как работает - он передает весь текущий каталог

если в текущем каталоге есть лишние файлы - напишите .dockerignore

Павел
15.05.2019
12:32:59
OSError: Can not read file in context: /mnt/500gb/projects/docker/flask_webapp_docker/postgres-data/data/base/116218/1663373.1

George
15.05.2019
12:33:06
в который внесите те каталоги, которые не нужны для сборки проекта

https://t.me/docker_ru/123048 - вот это

Павел
15.05.2019
12:33:48
текущий каталог там, где находится Dockerfile или docker-compose?

George
15.05.2019
12:35:17
текущий каталог - это там где контекст

Павел
15.05.2019
12:35:20
FROM postgres:9.5 RUN localedef -i ru_RU -c -f UTF-8 -A /usr/share/locale/locale.alias ru_RU.UTF-8 ENV LANG ru_RU.UTF-8

сам docker/postgres/Dockerfile вот такой

George
15.05.2019
12:35:26
у вас контекст в докер-компоузе указан как "."

Павел
15.05.2019
12:35:36
ааа, понял

а в "." как раз и лежит postgres-data

George
15.05.2019
12:36:06
ну, если у вас в Dockerfile не добавляются файлы, то можете попросту context: ./docker/postgres

сделать

я бы вообще postgres-data в вольюм выкинул

т.е. вот так : volumes: - postgres-data:/var/lib/postgresql/data

главное потом случайно docker-compose down -v не сделать

?

Google
Павел
15.05.2019
12:37:24
так оно сейчас так

postgres: restart: always build: context: . dockerfile: docker/postgres/Dockerfile environment: PGPORT: "5433" ports: - "127.0.0.1:5433:5433" volumes: - ./postgres-data/data:/var/lib/postgresql/data

я так понимаю, на context просто двинуть в ./docker/postgres

George
15.05.2019
12:38:27
как вариант

Павел
15.05.2019
12:44:32
не прокатило с контекстом, пришлось сделать так

build: ./docker/postgres

George
15.05.2019
12:45:30
не м.б., что с контекстом не прокатило...

его ж не просто создать надо, а еще заполнить (файл т.е.)

Павел
15.05.2019
12:46:52
?

VolanDeVovan
15.05.2019
12:47:15
touch -h или man touch
Поставь touch

George
15.05.2019
12:47:25
Поставь touch
мне зачем?

VolanDeVovan
15.05.2019
12:47:39
Не тебе Переслал не то

George
15.05.2019
12:47:55
?
ну, формат .dockerignore такой же как у .gitignore, если мне память не изменяет

Павел
15.05.2019
12:48:35
т.е. в данном случае указывать контекст это более предпочтительно, чем его не указывать?

George
15.05.2019
12:52:05
пофиг

есть 100500 способов решения проблемы. Гарантированно верного нет. Я бы тупо не собирал образы через компоуз. Не более того

Павел
15.05.2019
12:53:02
а как их собирать?

к примеру вот тут указана структура каталогов https://www.haikson.com/programmirovanie/python/django-nginx-gunicorn-postgresql-docker/

если не пользоваться compose, то чем пользоваться?

VolanDeVovan
15.05.2019
12:53:54
Вручную писать команды

Google
VolanDeVovan
15.05.2019
12:54:40
Ты тоже самое можешь сделать сам создавая сетевые интерфейсы / тома запуская контейнеры и удалять после

Павел
15.05.2019
12:55:24
И в чём приемущество такого способа перед compose?

VolanDeVovan
15.05.2019
12:55:32
Никакого

Павел
15.05.2019
12:55:38
compose даёт автоматизацию. пару команд и готово

VolanDeVovan
15.05.2019
12:56:47
Ну им и на сварм деплоить удобнее Я просто назвал вариант если он чем-то не угодил

Павел
15.05.2019
12:59:15
ну на самом деле я и пользуюс всем этим как-то коряво, поэтому хотел узнать как правильней :)

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

VolanDeVovan
15.05.2019
13:04:06
Если нет версионирования то как они копятся? Ты по одному и тому же тегу можешь перезаписывать

allter
15.05.2019
13:12:14
вариант тупо брать докерфайл от А, брать докерфайл от Б и мержить
Ещё вариант - не прописывать действия для Dockerfile явно, а оформить их в виде puppet манифестов или инструкций для другой CMS. Тот же puppet может собирать образ вообще без Dockerfile..

Страница 1231 из 1375