Jump to content

Развёртывание с Docker Compose где код?


Recommended Posts

есть информация как происходит алгоритм генерации файлов стиля в цезерине? когда это происходит при каком событии? есть у вас такая информация ? я не лезу бекэнд.. мне достаточно поменять внешний вид... каталоги монтируются... мне понять за что какие файлы отвечают в каталоге theme 

 

судя по файлу css какая то часть стиля генерируется из https://bulma.io/

Link to post
Share on other sites
  • Replies 74
  • Created
  • Last Reply

Top Posters In This Topic

  • DXSh

    46

  • support

    29

В образе в каталоге assets два каталога sass scss это генерация стилей , но после старта докера в самом контейнере остаётся только scss и добавляется css... 

куда пропала sass? файлы в sass и  scss они прописывают одинаковые стили т. е. гдето можно переключить какую технологию использовать sass или scss?

Link to post
Share on other sites
support
2 часа назад, DXSh сказал:

есть информация как происходит алгоритм генерации файлов стиля в цезерине? когда это происходит при каком событии? есть у вас такая информация ? я не лезу бекэнд.. мне достаточно поменять внешний вид... каталоги монтируются... мне понять за что какие файлы отвечают в каталоге theme 

 

судя по файлу css какая то часть стиля генерируется из https://bulma.io/

Собирается через SASS из кучи файлов в /cezerin2-store/theme/assets/scss

1 час назад, DXSh сказал:

В образе в каталоге assets два каталога sass scss это генерация стилей , но после старта докера в самом контейнере остаётся только scss и добавляется css... 

куда пропала sass? файлы в sass и  scss они прописывают одинаковые стили т. е. гдето можно переключить какую технологию использовать sass или scss?

Никуда не пропадает, sass - это исходники.

scss файлы в браузере не будут работать.

WebPack из исходников собирает один больше css файл.

Все это видно в package.json, webpack.config.store

Link to post
Share on other sites

одинаковые файлы

1 час назад, DXSh сказал:

в sass и  scss

только разный синтаксис 

Link to post
Share on other sites
support
Только что, DXSh сказал:

одинаковые файлы

только разный синтаксис 

Ну так это и есть sass файлы.

Это css-препроцессор.

Это исходники из которых и собирается единый css файл при сборке.

Link to post
Share on other sites
4 минуты назад, DXSh сказал:

sass и  scss

это оба предпроцессоры css, но можно было же только использовать sass или scss, а в образе обе эти каталога? 

при запуске докера остаётся только scss 

7 минут назад, support сказал:

Это исходники из которых и собирается единый css файл при сборке.

значит при запуске контейнера он еще стартует node, который по инструкции генерирует эти файлы.

Вопрос  я монтирую папку с исходниками меняю там код, как мне опять запустить процесс создать код уже из изменённых исходников ? 

предполагаю надо выполнить какую то команду npm 

 

Link to post
Share on other sites
support

Ну так это ж видно в Dockerfile, что он делает.

Вот: https://github.com/Cezerin2/cezerin2-store/blob/master/Dockerfile

Но я уже говорил, я не спец. по докеру и ничего не смогу подсказать.

В телеграм группе есть Nitin

Это он делал докер обвязку всё для cezerin2

Лучше у него спросить.

 

Link to post
Share on other sites
18 минут назад, support сказал:

Ну так это ж видно в Dockerfile, что он делает.

RUN mkdir -p /var/www/cezerin2-store

а возможно, что на докерхабе другой образ и потому как у меня по этому пути другой каталог создаётся в контейнере  ? 

 
Link to post
Share on other sites
support

Вряд ли, на докер хабе образы, которые собираются из гитхаба.

https://github.com/Cezerin2/docker-cezerin2

 

3 минуты назад, DXSh сказал:

RUN mkdir -p /var/www/cezerin2-store

а возможно, что на докерхабе другой образ и потому как у меня по этому пути другой каталог создаётся в контейнере  ? 

 

 

Link to post
Share on other sites
2 минуты назад, support сказал:

Вряд ли, на докер хабе образы, которые собираются из гитхаба.

7NNP8uhhRnY.jpg

Link to post
Share on other sites
support
Только что, DXSh сказал:

7NNP8uhhRnY.jpg

А точ Вы хотели сказать этм скрином?!

Ну всё правильно, всё, что написано в Dockerfile - https://github.com/Cezerin2/cezerin2-store/blob/master/Dockerfile

Всё сделано внутри контейнера, т.е. выкачан Cezerin2-store, усноавлен весь софт, скомпилирован и запущен cezerin2-store.

Видно по файле prechage-manifest-....

Это сгенерированный webpack'ом файл.

Значит npm i и npm run build команды были выполнены и всё собралось без ошибок

Link to post
Share on other sites
3 минуты назад, support сказал:

Вряд ли, на докер хабе образы, которые собираются из гитхаба.

возможно другой докерфайл 

 

5 минут назад, support сказал:

А точ Вы хотели сказать этм скрином?!

RUN mkdir -p /var/www/cezerin2-store

а там var/www/cezerin 

 

Link to post
Share on other sites
support
10 минут назад, DXSh сказал:

возможно другой докерфайл 

 


RUN mkdir -p /var/www/cezerin2-store

а там var/www/cezerin 

 

К сожалению, у меня нет доступа к аккаунту на докер хаб.

Я не могу точно скачать, что и как там настроено.

Можете просто взять тогда https://github.com/Cezerin2/docker-cezerin2 и создать свои образы.

Я вот так и сделал у себя https://github.com/vamshop/docker-vamshop

https://hub.docker.com/search?q=vamshop&type=image

Вот эти образы на докер забе автоматически пересобираются при любой правки на https://github.com/vamshop/docker-vamshop

Link to post
Share on other sites
version: '3'

services:
  cezerin2:
    image: cezerin2/cezerin2
    environment:
      - LANGUAGE=en
    ports:
      - 3001:80
    environment:
      - DB_HOST=db
      - DB_PORT=27017
      - DB_NAME=shop
      - DB_USER=
      - DB_PASS=
    volumes:
      - ./content-on-host:/var/www/cezerin2/public/content
    depends_on:
      - db
    restart: always

  cezerin2-store:
    image: cezerin2/cezerin2-store
    environment:
      - LANGUAGE=en
      - API_BASE_URL=http://cezerin2/api/v1
      - AJAX_BASE_URL=http://cezerin2/ajax
    volumes:
      - ./content-scss:/var/www/cezerin/theme/assets/scss
      - ./content-sass:/var/www/cezerin/theme/assets/sass
      - ./content-src:/var/www/cezerin/theme/src
      - ./content-settings:/var/www/cezerin/theme/settings
      - ./content-locales:/var/www/cezerin/theme/locales
    ports:
      - 3000:80
    depends_on:
      - cezerin2
    restart: always

  admin:
    image: cezerin2/cezerin2-admin
    environment:
      - LANGUAGE=en
    ports:
      - 3002:80
    depends_on:
      - cezerin2
    restart: always

  db:
    image: mongo:3.4
    ports:
      - 27017:27017
    volumes:
      - ./db-on-host:/data/db
    restart: always

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

Link to post
Share on other sites
support

Я так понял это Вы docker compose конфиг свой выложили?!

Надо будет попробовать.

Мне сама идея докера очень нравится.

Но всё никак не было времени разобраться.

Я тоже в слак чате ещё года 2 назад спрашивал, как сделать разработку с докером, не просто запускать.

А что б и вносить правки можно было и смотреть эта правки в браузере.

 

Может всё-таки сейчас что-то подобное и будет сделано Вами, было бы конечно неплохо.

 

т.е. на любом компе, без необходимого софта и т.д.

Просто запустил докер и всё, у тебя готовое окружение, весь необходимый софт.

и доступ к исходникам тоже.

Link to post
Share on other sites

в каждом контейнере свой лог файл есть ? 

Сейчас настраиваю магазин, файл руссификации есть, а как его применить не нашёл в админке ? 

И добавил категории в магазин там меню основное оно хорошо когда несколько категорий а когда много что делать с меню можно по опыту ? 

Link to post
Share on other sites
support
2 часа назад, DXSh сказал:

в каждом контейнере свой лог файл есть ? 

Сейчас настраиваю магазин, файл руссификации есть, а как его применить не нашёл в админке ? 

И добавил категории в магазин там меню основное оно хорошо когда несколько категорий а когда много что делать с меню можно по опыту ? 

Язык указывается в config файле в папке config

Если запускается в докер окружениии, то там есть переменные окружения.

Примеры на https://github.com/Cezerin2/docker-cezerin2

т.е.:

docker run -d \
--name cezerin2 \
--link store-db:db \
-p 3001:80 \
-e DB_HOST=db \
-e DB_PORT=27017 \
-e DB_NAME=shop \
-e DB_USER= \
-e DB_PASS= \
-v /var/www/cezerin2/public/content:/var/www/cezerin2/public/content \
cezerin2/cezerin2:latest

и смотрите конфиг https://github.com/Cezerin2/cezerin2-store/tree/master/config

т.е. берётся либо значение из окружения переменной LANGUAGE

Либо заданное значение в конфиге.

т.е. что б установить русский при запуске в докере, надо указывать как-то так:

docker run -d \
--name cezerin2 \
--link store-db:db \
-p 3001:80 \
-e LANGUAGE=ru \
-e DB_HOST=db \
-e DB_PORT=27017 \
-e DB_NAME=shop \
-e DB_USER= \
-e DB_PASS= \
-v /var/www/cezerin2/public/content:/var/www/cezerin2/public/content \
cezerin2/cezerin2:latest

 

Link to post
Share on other sites

Доброе! Развернул контейнер на хостинге ... но почему то пути к фото идут на 

http://localhost:3001/assets/images/slide8.jpg

а не на ip сервера, где то еще прописываеться конфигурация или у меня закешировалось ? 

  • // config used by store server side only
    module.exports = {
    	// store UI language
    	language: process.env.LANGUAGE || 'en',
    	// used by Store (server side)
    	ajaxBaseUrl: process.env.AJAX_BASE_URL || 'http://localhost:3001/ajax',
    	// used by Store (server side)
    	apiBaseUrl: process.env.API_BASE_URL || 'http://localhost:3001/api/v1',
    
    	storeListenPort: process.env.STORE_PORT || 3000,
    
    	// key to sign tokens
    	jwtSecretKey: process.env.JWT_SECRET_KEY || '-',
    
    	// key to sign store cookies
    	cookieSecretKey: process.env.COOKIE_SECRET_KEY || '-'
    };

     

Link to post
Share on other sites

https://cezerin.org/docs/#/deploy-on-web-cezerin-configs

поменял но адреса почему то остались прежними 

// config used by store client side only
module.exports = {
	// store UI language
	language: process.env.LANGUAGE || 'ru',

	// used by Store (server side)
	apiBaseUrl: process.env.API_BASE_URL || 'http://83.166.241.133:3001/api/v1',

	// used by Store (server side)
	ajaxBaseUrl: process.env.AJAX_BASE_URL || 'http://83.166.241.133:3001/ajax',

	storeListenPort: process.env.STORE_PORT || 3000,

	// key to sign tokens
	jwtSecretKey: process.env.JWT_SECRET_KEY || '-',

	// key to sign store cookies
	cookieSecretKey: process.env.COOKIE_SECRET_KEY || '-'
};

поменял на ip 

 

Link to post
Share on other sites
support
21 минуту назад, DXSh сказал:

https://cezerin.org/docs/#/deploy-on-web-cezerin-configs

поменял но адреса почему то остались прежними 


// config used by store client side only
module.exports = {
	// store UI language
	language: process.env.LANGUAGE || 'ru',

	// used by Store (server side)
	apiBaseUrl: process.env.API_BASE_URL || 'http://83.166.241.133:3001/api/v1',

	// used by Store (server side)
	ajaxBaseUrl: process.env.AJAX_BASE_URL || 'http://83.166.241.133:3001/ajax',

	storeListenPort: process.env.STORE_PORT || 3000,

	// key to sign tokens
	jwtSecretKey: process.env.JWT_SECRET_KEY || '-',

	// key to sign store cookies
	cookieSecretKey: process.env.COOKIE_SECRET_KEY || '-'
};

поменял на ip 

 

А Вы как стартуете?!

Через докер?!

 

Тогда надо задавать все эти значение не в конфиге, а при старте домеке, переменными окружения.

Как выше я пример показывал с языком.

 

Вот здесь примеры как раз - https://github.com/Cezerin2/docker-cezerin2

Link to post
Share on other sites
1 минуту назад, support сказал:

Через докер?!

да через докер.

 

Link to post
Share on other sites
support

Ну вот эти переменные в конфиге видите env...

 

LANGUAGE

API_BASE 

и т.д.

их все надо просто задавать при старе через докер.

 

Это специально сделано, что б не приходилось править конфиг.

 

Link to post
Share on other sites

nginx подключен к сети через пробросс порта, а остальные должные во внутренней сети докера работать.

Может надо сеть поднимать на хосте ? 

Вся суть, что при использовании технологии докер надо сконфигурировать  YML и запустить его.. дальше все по сценарию я не могу ничего править на докерхабе только если создавать свой образ на докерхабе и перенастраивать yml. Вопрос если использовать докер-компосе надо ли тогда править конфиги или  нет? из настройки языка, я не трогал конфиги, а просто поменял YML и локализация прошла. но в YML я не увидел настроек хоста.. порты есть а хост я не увидел ... 

сети между контейнерами

Link to post
Share on other sites
support
13 минут назад, DXSh сказал:

nginx подключен к сети через пробросс порта, а остальные должные во внутренней сети докера работать.

Может надо сеть поднимать на хосте ? 

Вся суть, что при использовании технологии докер надо сконфигурировать  YML и запустить его.. дальше все по сценарию я не могу ничего править на докерхабе только если создавать свой образ на докерхабе и перенастраивать yml. Вопрос если использовать докер-компосе надо ли тогда править конфиги или  нет? из настройки языка, я не трогал конфиги, а просто поменял YML и локализация прошла. но в YML я не увидел настроек хоста.. порты есть а хост я не увидел ... 

сети между контейнерами

Если честно я не настолько силён в докере, тонкостей особо не знаю и постоянно с докером не работаю.

Ну вот API_BASE_URL AJAX_BASE_URL и другие переменные в конфигах.

Это ж как раз что б задавать свои значени при старте докера.

Link to post
Share on other sites

пинг есть между контейнерами но , на хосте магазин не работает ... конфиги переправил 

 

Link to post
Share on other sites

×
×
  • Create New...