
Dima
21.08.2018
10:42:49

Alexander
21.08.2018
10:42:51
так же, как копировал свой никнейм

Даниил
21.08.2018
10:42:53
спс
!

Google

Dima
21.08.2018
10:43:12

Artem
21.08.2018
10:43:17

Taz
21.08.2018
11:17:21

Alexander
21.08.2018
11:32:14

Александр
21.08.2018
11:32:48

Alexander
21.08.2018
11:34:56
через volumes,
я пишу root до реального адреса, вне контейнера и вижу ошибку 404 от nginx
если я пишу адрес внутри контейнера, то вижу 404 из контейнера
/var/www/laravel/public это внутри контейнера

Александр
21.08.2018
11:42:09
а root прописан так как на хосте, да?

Alexander
21.08.2018
11:42:23
да, в папку которая примонтирована

Александр
21.08.2018
12:45:02
кмх

Google

Александр
21.08.2018
12:45:05
всем привет
тут сижу изучаю docker-compose
(у меня GO)
линканул к основному контейнеру (App) еще и контейнер с пакетным менеджером
services:
dep:
image: instrumentisto/dep
web:
image: golang
command: >
bash -c "
cd cmd/main
&& dep ensure -vendor-only
&& go build -o ../../bin/main .
&& cd ../../bin
&& ./main"
depends_on:
- mongo
links:
- dep
...
вернее даже так (поправил выше)
но что-то он dep не видит ?
билда падает на dep ensure -vendor-only типо нет такой команды

Pink
21.08.2018
12:49:05
Так compose сервисы по сети объединяет, если я не ошибаюсь

Александр
21.08.2018
12:49:30
ну мне надо именно два контейнера склеить

Pink
21.08.2018
12:49:41
А для какой цели?

Александр
21.08.2018
12:49:55
там подгрузка зависимостей
перед билдом
я пробывал так-же в dep это сделать, тоесть прописать ему command, но тогда web может запустить раньше чем он закончит и жопа

Pink
21.08.2018
12:50:32
Может быть лучше добавить dep в образ, где будет происходить сборка?

Александр
21.08.2018
12:50:57
я не хотел собирать кастом образ ;(

Pink
21.08.2018
12:51:15
Хотя, как по мне, лучше собирать в принципе готовый образ с бинарниками, и уже его поднимать компоузом

Александр
21.08.2018
12:51:59
ну там сложно уже начинается
это придется какую то систему сборки делать

Pink
21.08.2018
12:52:15
А у вас ее нет?(

Google

Александр
21.08.2018
12:52:30
есть
но я чисто на коленке собираю докер

Pink
21.08.2018
12:53:45
Для чисто на коленке можно написать скрипт, который собирает образ, тегирует, и тут же поднимает компоуз с ним, что думаете?

Александр
21.08.2018
12:54:44
я чисто разработчик, у нас девопс этим занимался ?
мне пришлось вникать в докера за день
я не вьеду сейчас с этими "собрать в одном контейнере" "перемонтировать в друго контейнер"

Pink
21.08.2018
12:56:00
Да ничего страшного, получится что-то вроде docker build && docker-compose up
Либо же, если хотите билд в этом же контейнере при поднятии приложения, есть еще один вариант
Просто go get dep
(Ну с полным путем до репозитория dep)

Александр
21.08.2018
12:57:48
ну скачивать деп не очень конечно

Pink
21.08.2018
12:57:51
Но это в случае, если в основном контейнере есть голанг

Александр
21.08.2018
12:58:08
а докер позволяет собрать контейнер из двух?
базовых

Pink
21.08.2018
12:58:18

Александр
21.08.2018
12:58:59
можно наверно намутить кастомный web контейнер из двух:
FROM golang
FROM instrumentisto/dep
и потом уже композером его профигачить

Pink
21.08.2018
12:59:17
Сейчас покажу пример
FROM *** as builder
WORKDIR /go/src/***
ADD . /go/src/***
RUN make build_docker
FROM ***
WORKDIR /app
COPY --from=builder /go/bin/* ./

Google

Pink
21.08.2018
13:02:14
Получится что-то такое, но с вашими путями вместо ***
https://docs.docker.com/develop/develop-images/multistage-build/
https://made2591.github.io/posts/goa-docker-multistage
Надеюсь, что поможет!

Александр
21.08.2018
13:05:32
не понятно зачем тут копи

Admin
ERROR: S client not available

Pink
21.08.2018
13:06:21
Затем что вы сначала создаете промежуточный образ, а потом копируете из него результат в окончательный

Александр
21.08.2018
13:08:11
странно что в корень копируется

Pink
21.08.2018
13:08:11
Докер как слоеный пирог, берется базовый слой, в нем что-то делается(создаются новые слои)
Мультистейдж позволяет из одного такого пирога взять что-то и положить в другой пирог(основанный на другом базовом образе, с другим окружением, и т.п.)
Почему в корень?)

Александр
21.08.2018
13:08:34
COPY --from=builder /go/bin/* ./
сорри в app

Pink
21.08.2018
13:08:47
Чуть выше Workdir указан
ну для моих целей надо было туда положить, это уже под ваши задачи подстраивается. Чаще всего в корень кладут(UPD: запуская через ./appbin) или /usr/local/bin (чтобы вызывать без указания пути к бинарнику)

Александр
21.08.2018
13:12:08
а ADD . зачем?
у нас же и так подмонтирована директория как бы

Pink
21.08.2018
13:14:54
Чтобы положить исходники по тому пути, где их голанг ожидает видеть
По-умолчанию он смотрит в /go/src/

Konstantin
21.08.2018
13:20:30
Второй день не пойму как внутри контейнера иметь своего юзера чтобы пхп внутри контейнера работало под тем же юзером под которым я работаю с папкой проекта

Google

Konstantin
21.08.2018
13:28:58
? чот сложно

Pink
21.08.2018
13:29:13
Зачем в контейнере пользователь?)

Konstantin
21.08.2018
13:29:57
Ну я пробрасываю папку чтобы из менеджера спокойно править файлы
Например я создам файл index.php в редакторе а сервер в контейнере скажет что нет прав доступа файл не принадлежит юзеру www-data
Получается что папка общая а юзеры разные вот и непонятка
Или скрипт сохраняет файл какой то а я его не могу в редакторе править ибо у меня свой пользователь и нет прав на созданный скриптом файл
Что делать? Не понимаю как работать, это жопа какая то ?

Александр
21.08.2018
13:50:48
а я правильно понимаю
что CMD задает команду которая по умолчанию выполняеться при старте контейнера?

Aleksey
21.08.2018
13:52:07

Александр
21.08.2018
13:55:17
агась
а docker-compose образ сам не умеет апать?
надо вручную билд делать?

Aleksey
21.08.2018
13:57:09
Ты можешь это переписать

Александр
21.08.2018
13:58:40
кмх
RUN go build -o ../../bin/webserver .
CMD ./bin/webserver
без ошибок собирается только вот когда я пытаюсь потом в композере это запустить