Erzed
Привет, кто-нибудь пробовал подружить докеризированный grpc-server на питоне с hot reload?
heavycharged
context обязателен
Anonymous
Anonymous
так сейчас ?
heavycharged
ну вот сделал так, и все равно ошибка
heavycharged
а, сек
heavycharged
не, я думал может в аргументах есть какой-то параметр с контекстом
heavycharged
чтобы принудительно передать
Anonymous
это уже следующий вопрос)
heavycharged
ну мне хотелось бы все-же чтоб через docker-compose все строилось
heavycharged
вот полный конфиг
version: '3'
services:
nginx:
image: nginx:latest
restart: unless-stopped
ports:
- "8080:80"
networks:
- frontend
web:
build:
context: ../
dockerfile: deployments/Dockerfile
ports:
- "8000:8000"
networks:
- frontend
- backend
environment:
LISTEN: ${LISTEN:-:8080}
DB_PASSWORD: ${PASSWORD:-password}
restart: unless-stopped
postgres:
image: postgres
restart: unless-stopped
environment:
POSTGRES_PASSWORD: ${PASSWORD:-password}
networks:
- backend
networks:
backend:
frontend:
heavycharged
вот Dockerfile
FROM golang:latest
WORKDIR /go/src/repair
COPY . .
RUN go get -d -v ./...
RUN go install -v ./...
ENTRYPOINT [ "repair" ]
heavycharged
сам образ запускается если отдельно его собрать, вот такой командой: docker build -f ./deployments/Dockerfile -t repair-app .
heavycharged
т.е. я передаю контекст - корневая директория проекта. а через docker-compose что-то не хочет
heavycharged
кажется разобрался, во-первых docker-compose build в папке с моим dockerfile, во-вторых, там же docker-compose up
heavycharged
build:
context: ../
dockerfile: ./deployments/Dockerfile
Ευγένιος
Жиза всех новичков походу.
Pete 🐍
Обычно если есть несколько скриптов то их запускаю через супервизор, а в докере как лучше?
в докер файле прописать CMD для каждого скрипта?
Evgenii
Server
Хочу сервер express запустить
FROM node:9
WORKDIR /mw-server
COPY index.js .
CMD yarn start
Expose 5000
Можно ли вызвать команду CMD yarn start
где:
cross-env NODE_ENV=dev nodemon --exec babel-node bin/prod
Почему этот сетап не работает?
Pete 🐍
Anonymous
Anonymous
Возник вопрос по поводу официальных образов для python. В dockerfile образа python собирается из исходников. Почему этот контейнер работает и на архитектуре i386 и на amd64 ?
Anonymous
Ведь кроссархитектурной компиляции нет?
Andrey
https://blog.docker.com/2017/09/docker-official-images-now-multi-platform/
arts
Oleksandr
Всем привет. У меня есть привелигированный контейнер для запуска других контейнеров. Но внутри него
Oleksandr
docker /bin/sh: 1: docker: not found
' stdout = '' stderr = '/bin/sh: 1: docker: not found
bebebe
Oleksandr
Так он же запускает в привилегированном режиме
Oleksandr
Это обязательная опция
bebebe
Алекс, вы какой-то утомительный, вы по ссылке прошли?
Oleksandr
Да, а вы ?
Note: --privileged is required for Docker-in-Docker to function properly, but it should be used with care as it provides full access to the host environment, as explained in the relevant section of the Docker documentation.
Oleksandr
Oleksandr
Или в контейнере нужно только клиент устанавливать
bebebe
это все описано в документации и гуглится на раз
что-бы оперировать докером из контейнера, в контейнере должно быть что-либо что умеет в docker api
докер это клиент серверная аритектура, docker api должен каким-либо образом достучаться до сокета докера.
не обязательно монтировать сокет, можно и по TCP обращаться
Oleksandr
Oleksandr
В документации конечно есть все.
Но мне пока еще трудно в ней ориентироваться.
Oleksandr
Попробовал так установить, и так запустить
docker run -it -v /var/run/docker.sock:/var/run/docker.sock -p 3002:3000 mycontainer
bebebe
а, ну вы бы сразу сказали что на javascript пишете
Oleksandr
Сорян
Alexander
Что значит alpine в названии образов?
Не могу нагуглить
Je
Alexander
Спасибо
Server
arts
Anonymous
Je
войти в контейнер) логи ты должен писать в stdout по 12 принципам, а читать их соответственно docker logs container_name
Server
А в консоли что?
error An unexpected error occurred: "Couldn't find a package.json file in \"/mw-server\"".
info If you think this is a bug, please open a bug report with the information provided in "/mw-server/yarn-error.log".
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
Мне предваритльно нужно сделать CMD yarn install?
FROM node:9
WORKDIR /mw-server
COPY index.js .
CMD yarn start
Expose 5000
Anonymous
Server
Anonymous
Iliya
Привет друзья.
Я из Екатеринбурга
Можно с вам посоветоваться?
Занимаюсь настройкой контекстной рекламы, а конкретно Яндекс Директ, привлечением клиентов в бизнес.
И вот сейчас в качестве проекта для портфолио, я готов настроить
несколько рекламных компаний бесплатно в обмен на видео отзыв.
Цена такой настройки в агентствах стоит от 15.000р
Посоветуйте, будет ли это интересно вам?, или вашим знакомым
получить бесплатную настройку контекстной рекламы
Качество настройки будет на высоте!
По всем вопросам Вы можете написать мне в личных сообщениях Telegram
Sergey
Server
Да
Так?
FROM node:9
WORKDIR /mw-server
COPY index.js .
COPY package.json .
CMD yarn install
CMD yarn start
Expose 5000
Anonymous
arts
Server
Server
CMD ["yarn install --production=true", "start"]
Почему не исключаются пакеты из devDependencies ?
Алексей
Yurii
отмена :)
sspat
Парни, помогите, все перепробовал уже (кроме снести винду)
Win10, docker toolbox, Virtualbox
В докер-машину смонтирована директория из хоста
Создаю контейнер А, в него вольюмом кидаю сокет докера и смонтированную выше директорию, все ок, вижу файлы внутри контейнера
Из контейнера А билдится образ и с него поднимается контейнер В, куда я пытаюсь маунтить ту же самую директорию из контейнера А
Итог - контейнер В поднимается, логи пустые, смаунченная директория в нем появляется но она пустая...
sspat
При создании В - тоже через вольюм пытаюьс подключить
sspat
Т.е. получается цепочка директория в хосте => маунт через виртбокс в виртуалку => вольюм в контейнер А => вольюм в контейнер В
Lev
Есть подозрение что докер фризит сеть. В какой то момент в приложении тред жрет 100% кпу, ничего не делает и приложение ничего не может сделать через такой коннект.
Server
Server
почему происходит эта ошибка, если babel установлен в package.json?
$ cross-env NODE_ENV=dev nodemon --exec babel-node bin/prod
[nodemon] 1.17.5
[nodemon] to restart at any time, enter `rs`
[nodemon] watching: *.*
[nodemon] starting `babel-node bin/prod`
sh: babel-node: not found
[nodemon] failed to start process, "babel-node" exec not found
Oleksandr
а, ну вы бы сразу сказали что на javascript пишете
Спасибо еще раз за помощь 🙂
Просто поменял библиотеку на ноде с docker-cli-js на dockerode и указал ему путь к сокету, и запустил контейнер примонтировав сокет из хоста.
Теперь все работает, контейнеры создаются на хост машине, как надо :)
sspat
нырнул как тот винипух с картинки, разобрался)
я ошибочно полагал, что при создании в контейнере А другого контейнера В - маунтитить нужно по путям A:B
оказалось нужно также как для А - хост:В
Алексей
Server
Алексей
в контейнере ж
Алексей
nodemon ты где запускаешь? туда и бабель поставить глобально
Server
nodemon ты где запускаешь? туда и бабель поставить глобально
понял) спасибо работает!
$ cross-env NODE_ENV=production nodemon --exec babel-node bin/prod
[nodemon] 1.17.5
[nodemon] to restart at any time, enter `rs`
[nodemon] watching: *.*
[nodemon] starting `babel-node bin/prod`
internal/modules/cjs/loader.js:596
throw err;
^
Error: Cannot find module '/mw-server/bin/prod’
Там у меня лежит
require('dotenv').config()
require('./../index')
Тоже надо копировать?
Server
Почему когда запускаю yarn start, то все работает, а через докер нужны копирования зависимотей? Почему докер не умеет это делать сам?