Сергей
Почему application-dev.yml не подхватывает переменную EXTERNAL_APP_PORT, которую я прокидываю в docker-compose ?
Вместо того, чтобы приложение понялось на порту
EXTERNAL_APP_PORT=8081, оно поднимается на 8080
.env
EXTERNAL_APP_PORT=8081
dockerfile
FROM openjdk:17-jdk-slim
WORKDIR app
COPY target/VolunNearApp-0.0.1-SNAPSHOT.jar app.jar
COPY src/main/resources/application-dev.yml application-dev.yml
COPY src/main/resources/roles.sql roles.sql
CMD ["java", "-Dspring.profiles.active=dev", "-jar", "app.jar"]
docker-compose
spring-boot-app:
network_mode: ${DOCKER_NETWORK_MODE}
restart: on-failure
build:
context: .
depends_on:
- mysql
# ports:
# - "8080:8080"
environment:
- APP_DB_URL=${APP_DB_URL}
- APP_DB_USERNAME=${APP_DB_USERNAME}
- APP_DB_PASSWORD=${APP_DB_PASSWORD}
- APP_DB_DRIVER_CLASS_NAME=${APP_DB_DRIVER_CLASS_NAME}
- APP_MAIL_HOST=${APP_MAIL_HOST}
- APP_MAIL_PORT=${APP_MAIL_PORT}
- SENDER_EMAIL_USERNAME=${SENDER_EMAIL_USERNAME}
- SENDER_EMAIL_PASSWORD=${SENDER_EMAIL_PASSWORD}
- EXTERNAL_APP_PORT=${EXTERNAL_APP_PORT}
- EXTERNAL_APP_DB_PORT=${EXTERNAL_APP_DB_PORT}
- APP_JWT_TOKEN_SECRET=${APP_JWT_TOKEN_SECRET}
- APP_JWT_TOKEN_LIFETIME=${APP_JWT_TOKEN_LIFETIME}
application-dev.yml
server:
forward-headers-strategy: framework
port: ${EXTERNAL_APP_PORT}
error:
include-exception: true
include-message: always
include-binding-errors: always
Переменная подхватывается, но она у вас не отвечает ни за что. Смотрите код, как вы задаете порт приложения.
А вообще у вас в самом docker-compose пробрасываются порты, зачем вообще использовать external port, если можете порт хоста 8081 пробрасывать на 8080 контейнера?
Тут либо в docker-compose тоже переменные прописать, если в .env хотите всем управлять, либо прописать порты в компоузе и забить
Khafizov Salavat
Khafizov Salavat
Khafizov Salavat
можете пожалуйста подсказать, как соединить front и back в docker? Прилагаю ошибку, docker-compose, setupProxy и lauchSettings
Khafizov Salavat
Aleksey
Привет локал хост поправь
Khafizov Salavat
Виталий
launchSettings это для запуска в ide, оно на докер не влияет
Khafizov Salavat
спасибо, поищу инфу в этом направлении)
NIKITA
Здравствуйте все а может мне кто то помочь поставить dashy на synology.
NIKITA
?
Akane
Akane
тут таким не помогают
Sam
Привет, тоже вопрос, что-то не соображу как поправить, локально все работает:
-site.test открывается и порты нормально мапяться 80 и 443 на nginx в контейнере, который уже потом дальше передает
-на remote хосте - при попытке зайти по домену - timeout, но по IP приложение открывается.
может это у Google Compute Engine какой то прикол или мне не хватает опыта.
что дебажнуть?
я логи контейнеров смотрел, но там именно по этому инфы нет за что зацепиться.
как бы отловить почему он без домена открывает приложение хотя у меня заблочена эта возможность
и почему по домену не открывает.
у меня там пока стоит самописный серт, но это же просто предупреждение должно вылезти и все
Алексей
Всем привет! Кто-то запускал wordpress c nginx в docker? Суть задачи в том, что при запросе на nginx по адресу $host/wordpress должен открыться wordpress, который, в свою очередь, работает в контейнере с апач в той же докер сети. Проблема в том, что как только заканчивается первоначальная настройка wordpress, открывается страница по адресу $host/wp-admin, однако, необходимо открыть $host/wordpress/wp-admin. Без докера это просто конфигурируется в wp-config.php, но в докере не работает. Спасибо!
version: '3.4'
services:
nginx:
image: nginx:1.25-alpine
restart: always
ports:
- '443:443'
- '80:80'
volumes:
- {{ ssl_path }}:/etc/nginx/ssl
- {{ ansible_env.HOME }}/nginx/nginx.conf:/etc/nginx/conf.d/appka.conf
- {{ ansible_env.HOME }}/nginx/index.html:/src/www/nginx/index.html
networks:
- wp
wordpress:
depends_on:
- mysql
image: wordpress
container_name: wordpress
restart: unless-stopped
ports:
- 8080:80
environment:
WORDPRESS_DB_HOST: mysql
WORDPRESS_DB_USER: {{ wordpress_user }}
WORDPRESS_DB_PASSWORD: {{ wordpress_password }}
WORDPRESS_DB_NAME: {{ wordpress_db_name }}
WORDPRESS_CONFIG_EXTRA: |
define('WP_SITEURL', 'https://{{ domain_name }}/wordpress');
define('WP_HOME', 'https://{{ domain_name }}/wordpress');
volumes:
- wordpress:/var/www/html
networks:
- wp
mysql:
image: mysql:5.7
restart: always
command: '--default-authentication-plugin=mysql_native_password'
environment:
- MYSQL_ROOT_PASSWORD={{ root_password }}
- MYSQL_DATABASE={{ wordpress_db_name }}
- MYSQL_USER={{ wordpress_user }}
- MYSQL_PASSWORD={{ wordpress_password }}
volumes:
- mysql-data:/var/lib/mysql
networks:
- wp
volumes:
wordpress:
mysql-data:
networks:
wp:
Aleksey
Всем привет! Кто-то запускал wordpress c nginx в docker? Суть задачи в том, что при запросе на nginx по адресу $host/wordpress должен открыться wordpress, который, в свою очередь, работает в контейнере с апач в той же докер сети. Проблема в том, что как только заканчивается первоначальная настройка wordpress, открывается страница по адресу $host/wp-admin, однако, необходимо открыть $host/wordpress/wp-admin. Без докера это просто конфигурируется в wp-config.php, но в докере не работает. Спасибо!
version: '3.4'
services:
nginx:
image: nginx:1.25-alpine
restart: always
ports:
- '443:443'
- '80:80'
volumes:
- {{ ssl_path }}:/etc/nginx/ssl
- {{ ansible_env.HOME }}/nginx/nginx.conf:/etc/nginx/conf.d/appka.conf
- {{ ansible_env.HOME }}/nginx/index.html:/src/www/nginx/index.html
networks:
- wp
wordpress:
depends_on:
- mysql
image: wordpress
container_name: wordpress
restart: unless-stopped
ports:
- 8080:80
environment:
WORDPRESS_DB_HOST: mysql
WORDPRESS_DB_USER: {{ wordpress_user }}
WORDPRESS_DB_PASSWORD: {{ wordpress_password }}
WORDPRESS_DB_NAME: {{ wordpress_db_name }}
WORDPRESS_CONFIG_EXTRA: |
define('WP_SITEURL', 'https://{{ domain_name }}/wordpress');
define('WP_HOME', 'https://{{ domain_name }}/wordpress');
volumes:
- wordpress:/var/www/html
networks:
- wp
mysql:
image: mysql:5.7
restart: always
command: '--default-authentication-plugin=mysql_native_password'
environment:
- MYSQL_ROOT_PASSWORD={{ root_password }}
- MYSQL_DATABASE={{ wordpress_db_name }}
- MYSQL_USER={{ wordpress_user }}
- MYSQL_PASSWORD={{ wordpress_password }}
volumes:
- mysql-data:/var/lib/mysql
networks:
- wp
volumes:
wordpress:
mysql-data:
networks:
wp:
Привет wp-config.php отредактировать почему не можешь
Aleksey
Также через вольм
Алексей
На хосте не храню. Это нужно хранить темплейт wp-config.php, править его и прокидывать в контейнер. Не самое элегантное решение
Алексей
Sam
Aleksey
ㅤ
Добрый день, не подскажите, что за группа докера на 12 000, где кикают просто за добрый день?
У меня в профиле была ссылка на мой тг канал, но я никакой рекламы не делал и не собирался
Владимир
ㅤ
Dan
Solyar
ㅤ
Сказали типо что в моем профиле ссылка на тг канал
Владимир
ㅤ
Это тоже самое что зайти в магазин где продают сигареты, и сказать, зачем вы заставляете меня их покупать?
ㅤ
ㅤ
Ильгиз
Коллеги, привет! Подскажите, каким образом реализовано исполнение команд командной строки windows в ENTRYPOINT\CMD и в целом при взаимодействии с работающим контейнером, если ядро докера работает на линуксе?
Andry
Помогите пожалуйста падает Docker Engine после запуска отладки в райдере
Andry
Invalid virtual machine configuration. Failed to issue sandbox extension for file system device with directory “/Applications/Rider.app/Contents”.
Andry
Не знаете как это побороть?
Solyar
Solyar
и проверь конфигурацию райдера для работы с Docker
ㅤ
Всем, привет. Подскажите, пожалуйста, есть ли способ перенести мультиконтейнерное приложение в docker compose с сохранением всех данных на другой сервак, кроме как упаковывать по одному контейнеру и переносить
Dmitriy
Khafizov Salavat
можете пожалуйста подсказать, загружую postgresql в container, но таблиц в нем нет при подключении к бд, в чем может быть причина?
Khafizov Salavat
Khafizov Salavat
ㅤ
Есть данные в контейнерах?
есть база mуsql, бэкапы и служебные файлы, некоторые volume смонтированы на хост куда и пишутся эти файлы
ㅤ
ㅤ
и приложуха собрана через compose.. может у compose есть метод упаковки всех данных приложения одной командой?)
Akane
Akane
все скриптами, православными
Akane
можешь плагин еакойнидт поискать, но проще свой серипт написать
ㅤ
я так и подозревал, что придётся через православные скрипты делать, искал в нете.. ничего толком нет, только для отдельных контейнеров
ㅤ
либо было, но для kubernetes
Dmitriy
Dmitriy
ㅤ
как вариант, но получиться ещё больше писанины и плюс придётся ещё искать используемые версии образов, при разворачивании на новом серваке
ㅤ
чтобы не было конфликтов с данными
Виталий
Akane
Akane
скриптик за пол часа пишется, а переносить ты будешь два
Алексей
Алексей
При наличии миграций поднимать схему скриптом это странное решение.
Khafizov Salavat
Об этом не подумал, спасибо) да я только начинающий
Алексей
В идеале дописать код так, чтобы он миграции применял при запуске, это делается в 20 строк
Алексей
Иначе dotnet ef database update, только эту cli, вероятно, придется поставить
ㅤ
ㅤ
Спасибо ребят за помощь
Владимир
Владимир
можете пожалуйста подсказать, загружую postgresql в container, но таблиц в нем нет при подключении к бд, в чем может быть причина?
В конструкторе дбконтекста можно вызвать Database.Migrate(); который накатит миграции, у меня это вынесено в другой слой, так тоже можно
Погугли как лучше вызывать ef миграции и накатывать первичную инициализацию данными, без этого никуда
private static void InitializeDatabase(IApplicationBuilder app)
{
using (var scope = app.ApplicationServices.GetService<IServiceScopeFactory>()?.CreateScope())
{
if (scope != null)
{
scope.ServiceProvider.GetRequiredService<BaseDbContext>().Database.Migrate();
}
else
{
throw new ArgumentNullException(nameof(scope));
}
}
}
Алексей
Алексей
Владимир
Еще писал дергать dotnet tool, вот этого делать не надо)
Алексей
Ну это как вариант, но в идеале автоматически миграции применять
Сергей