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
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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...