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
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
как правильно сконфигурить докер чтобы можно было делать запросы с контейнера на любой проэкт на локалке?
Bogdan
15.05.2019
10:16:56
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
George
15.05.2019
12:47:25
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
George
15.05.2019
13:15:12