George
раункуб убог
все говно и пчелы тоже
Anonymous
и не надо в таком случае спам ассасин настраивать
Anonymous
это так не работает )
Т.е. вы хотите сказать, что если папка с контейнера, грубо говоря, расшарена так, что она находится на хосте как /var/lib/docker/volumes, то ни в какуб другую папку уже расщарить ничего нельзя?
George
если задача один каталог в два контейнера подмаунтить: #docker-compose services: app1: ... volumes: - /home/backup/app1:/var/lib/app1 app2: ... volumes: - /home/backup/app1:/var/lib/app2
George
или что нужно?
George
зачем
Anonymous
зачем
хороший вопрос)))
Anonymous
зачем
из-за прав. Я хочу тут дать права, но если езе будет и общий volumes, то туда точно права будут только у рута
George
решай через bind mount синтаксис
George
не через volumes
George
version: "3.2" services: web: image: httpd:latest volumes: - type: bind source: $HOST/location target: /container/location - type: volume source: mydata target: /container/location volumes: mydata:
George
вот так можно писать. Тогда $HOST/location во-первых автоматически не создается, если его нет, и, во-вторых, докер не портит права на каталог на хосте
Anonymous
version: "3.2" services: web: image: httpd:latest volumes: - type: bind source: $HOST/location target: /container/location - type: volume source: mydata target: /container/location volumes: mydata:
Ну вот так вот уже попытался делать, компоузу что-т не нравится, сейчас еще раз попробовал
Anonymous
первый
George
можно полный пример увидеть на что ругается ?
Anonymous
аа
George
$HOME там НЕ нужен, если /home/test/data - абсолютный путь
Anonymous
Ну теперь, если без home пишет
Anonymous
А если с $HOME, то пишет, что хом непоределен)
George
Ну теперь, если без home пишет
ну, ты зачем-то маунтишь две разных сущности в один каталог
George
зачем ?
George
внутри контейнера ага
Anonymous
внутри контейнера ага
Ну так задача у меня такая) Так я не понял, вот как ты написал так можно сделать то?)
Anonymous
вообще эти пути не нужно прописывать services: myservice: volumes: mydata:/var/lib/some/data volumes: mydata: сами данные на диске будут в /var/lib/docker/volumes/
Anonymous
но я хочу еще доп папку
Anonymous
создай ссылку символическую
Anonymous
создай ссылку символическую
Там из-за прав я ее хочу сделать
Anonymous
volumes: shared: driver: local driver_opts: type: none o: bind device: "${PWD}/shared" вот так попробовать можно
Anonymous
device - полный путь. пример эмулирует отоносительный
Anonymous
зачем
например, при изменении локального пути только одну строчку поправить
Anonymous
Anonymous
в сервисах пишешь - shared:/app/data или что там
Anonymous
Anonymous
автоматически создаваться не будет, руками надо создать
Anonymous
в общем man mount по driver_opts )
Anonymous
в общем man mount по driver_opts )
Ого да, работает, ничего себе))))) Огромное спасибо))))))
Anonymous
и найти данные можно в /var/lib/docker/volumes/test_shared/_data/ - туда device монтируется
Anonymous
то есть это полноценный именнованный volume
Adilet
гайс как забилдить docker compose up -d —build через root user ?
Джифорсович
так, а для докера мне документацию достаточно будет изучить?
Ну скажем если ты захочешь пробрасывать в иксы, то недостаточно, но как минимум надо
Джифорсович
если пишешь где-то внутри контейнера localhost/127.0.0.1/[:::1] - 99% что что-то делаешь не так
Йеп, там надо в пределах подсетки докера забиндить адрес
Джифорсович
В альпайна масло, потому он страдабельный в таких кейсах, да
Джифорсович
но я по привычке везде использую alpine
Ну кстати пакетник у него реально шустрый
Джифорсович
ну в нем же пакетом по-минимуму
Еще в альпайна бузибокс урезанный, тот же сед не умеет в сендбокс, потому надо руками доставлять
Ilya
Всем привет! Есть ли какие-то реально полезные фичи при работе с Gitlab Registry в отличии от Docker Registry в связке с Gitlab?
A.D.🈴
А как ноду запустить? Чтобы в шелле можно было yarn -v и node -v проверить?
A.D.🈴
Нуу... Изучаю симфони. Дошел до Webpack Encore. Там надо, чтобы не только php работал, но еще и нода. И теперь вот не знаю, как в докере это всё запустить...
Anonymous
там мудьтистейдж
Anonymous
снала образ с нодой, собирает
Anonymous
потом образ с нгинком запускает
Anonymous
и статику и похапе
A.D.🈴
как это ноду сначала? :)
Anonymous
# Build Stage 1 # This build created a staging docker image # FROM node:10.15.2-alpine AS appbuild WORKDIR /usr/src/app COPY package.json ./ COPY .babelrc ./ RUN npm install COPY ./src ./src RUN npm run build # Build Stage 2 # This build takes the production build from staging build # FROM nginx:alpine WORKDIR /usr/src/app COPY --from=appbuild /usr/src/app/dist ./dist EXPOSE 4002
Anonymous
думаю логика понятная будет
Anonymous
в стейдже 1 собираю статику ноды. В стейдже 2 - копирую собраную статику в стейдже 1 в стейдж2
A.D.🈴
так, это уже интереснее. Пойду попробую.
A.D.🈴
думаю логика понятная будет
Так, внезапно. У меня нет нжинкса пока. Ну я чисто симфони сервер использую.... Наверное, не очень хорошая идея будет поженить стейдж 1 и сборку пхп в стейдж 2?
Anonymous
нжинкс просто пример
A.D.🈴
Так, говорит, что нет такого файла. Хотя файл там есть.
A.D.🈴
A.D.🈴
A.D.🈴
Все-таки у меня его там нет. Директория маунтится, похоже, позднее.
Anonymous
context явно пропиши
Anonymous
build: dockerfile: ./docker/php/ context: .
Anonymous
Все-таки у меня его там нет. Директория маунтится, похоже, позднее.
так при билде она не маунтится, надо COPY делать чтоб файлы с хоста попали в образ