Илья
15.11.2018
04:47:48
Ну сделай чтобы был основан на nginx а не на fpm
Какой толк только от fpm без веб сервера
И у тебя будет один контейнер с одной задачей
Николай
15.11.2018
04:52:05
Илья
15.11.2018
04:55:25
А почему не сделать один контейнер nginx с конфой для всех прилождух
А fpm там указывать разный?
Google
Илья
15.11.2018
04:55:47
В одной секции
fastcgi_pass php-fpm:9000;
В другой fastcgi_pass php-fpm2:9000;
Николай
15.11.2018
04:57:46
Ранее я собирал контейнеры с прилагами просто основываясь на alpine, и устанавливая в них nginx и php-fpm, из за этого приходилось устанавливать в контейнерах еще и supervisor чтобы данный зоопарк там нормально запускался.
но это, ИМХО, самая уебанская практика, не хочу больше так писать)
Илья
15.11.2018
04:59:14
Полюбому можно свести на один домен, просто в конфиге nginx указать в зависимости от uri отправлять на опредлеленный php
Николай
15.11.2018
05:01:20
Илья
15.11.2018
05:03:48
upstream azaza {
server domain:80;
}
server {
listen 8080;
location /hello/ {
proxy_pass http://azaza/;
Хотя мож я туплю. Сорян.
Мож более опытные помогут
Николай
15.11.2018
05:09:09
Илья
15.11.2018
05:09:19
Эх
Maxim
15.11.2018
06:32:18
Vladimir
15.11.2018
07:06:49
Доброе утро. Ребят, а именно backend разработчики, как вы выполняете migrations, seeds, clear cache и queue с докером? Заходите в контейнер через ssh или все таки удалось нормально автоматизировать? А если удалось, то поделитесь опытом, расскажите как
Artem
15.11.2018
07:15:22
Google
Vladimir
15.11.2018
07:17:26
Что имеется ввиду под зашить? Очередь как минимум это отдельный фоновый процесс. Он наверное должен быть в отдельном контейнере, иметь конфигурацию языка, к примеру php для его использования, подключения к БД и т.д. Но кажется что это немного жирно для выполнения одной команды. Хотя могу ошибаться.
Николай
15.11.2018
07:17:38
Vladimir
15.11.2018
07:18:22
@gitkv, можешь показать его? Интересно что там выполняешь.
Николай
15.11.2018
07:20:33
ENTRYPOINT ["/root/entrypoint.sh"]
и сам файл:
#!/bin/sh
# Install dependencies
composer install --no-interaction
# Clear the cache
php artisan cache:clear --no-interaction
# Create database
php artisan db:create
# Run migrations
if [ "$APP_ENV" = "production" ]; then
php artisan migrate --force --no-interaction;
else
php artisan migrate:refresh --seed --no-interaction;
fi
echo "Service complete"
# Run
exec "$@"
сам файл пока использую для разработки, поэтому пока не запаривался, потом надо пересмотреть немного
Dmitry
15.11.2018
07:20:57
Vladimir
15.11.2018
07:22:03
@gitkv, понял, спасибо! Довольно интересное решение. Думаю для меня самое то.
Николай
15.11.2018
08:32:22
Stan
15.11.2018
08:38:51
они даже у себя в доках убрали это
https://docs.docker.com/develop/develop-images/dockerfile_best-practices/
Each container should have only one concern.
Александр
15.11.2018
08:44:10
Илья
15.11.2018
08:44:51
Было =)
Артем
15.11.2018
08:48:23
Всем привет. Подскажите как передать переменные среды заданные при запуске докер контейнера (через environment: или -e) в его исполняемый sh файлы который стартует по крону внутри этого же контейнера.?
Николай
15.11.2018
08:49:15
Илья
15.11.2018
08:52:15
Ну как бы да. Ты образ свой пилишь а потом контейнер его мутиш
Но минус только в том что если много туда запихать сервисов то теряется гибкость в подмене
Николай
15.11.2018
08:54:05
Dmitry
15.11.2018
08:56:05
--init
По идее
Google
Dmitry
15.11.2018
08:56:36
Мне не очень нужно было, делю на контейнеры,
Николай
15.11.2018
08:57:13
Артем
15.11.2018
08:57:18
Николай
15.11.2018
08:59:59
Shaz
15.11.2018
09:02:23
Артем
15.11.2018
09:02:24
Николай
15.11.2018
09:03:27
Shaz
15.11.2018
09:04:57
Илья
15.11.2018
09:11:43
Хватит легкие пути! Даешь хардкор!
Артем
15.11.2018
09:14:30
?
15.11.2018
10:29:22
Подскажите плз, ставлю докер с CentOS 7, по гайду с офф сайта, при запуске докера он ругается что нет цепочек а iptables, кто нибудь знает как решить?
Sergey
15.11.2018
10:29:44
Alex
15.11.2018
10:31:47
Есть у докера проблема с логом с контейнера? запускаю docker logs -f [name], ожидаю вывод как на обычном серваке(логи веб сервера, или логгинг из приложения), но он отличается, как буд-то в контейнера что-то игнорится. При чем иногда все норм и вывод как и ожидалось.... Есть мысли в чем косяк?
Александр
15.11.2018
10:33:56
У меня есть ноут, но он иногда работает как-то не так, как другой такой же у друга. Есть мысли в чём косяк?
Stefan
15.11.2018
10:35:13
Илья
15.11.2018
10:35:48
Это он серьезно троллит
Stefan
15.11.2018
10:36:00
а всё, прочел выше сообщение
Sergey
15.11.2018
10:36:06
Stefan
15.11.2018
10:36:13
Alex
15.11.2018
10:52:22
Google
Александр
15.11.2018
10:53:19
Для начала бы конкретный вопрос, а не свои ощущения)
Попробуйте сами прочитать свой вопрос и понять конкретную проблему)
Официальный образ nginx access и error логи делают симлинками на устройства, которые и являются логом контейнера. Формат этих логов можете настраивать на свой вкус и цвет в конфиге nginx
Nick
15.11.2018
10:57:12
Maxim
15.11.2018
11:27:57
Подскажите пожалуйста, как сделать возможным запуск из php java файла посредством exec.
php в докере
конфиг такой:
version: '3.2'
services:
php:
build: ./configs/php
restart: always
volumes:
- ./app/basic:/var/www/html
depends_on:
- db
- java
java:
image: openjdk:7что и куда надо ещё написать, что бы из пхп скрипта можно было делать exec('java ......') ?
Ivan
15.11.2018
11:29:21
проще в php image поставить java jdk.rpm
Николай
15.11.2018
11:29:34
Maxim
15.11.2018
11:30:38
может и не по профилю, не спорю. я однако подозреваю, что пхп просто не видит java, и наверное мой вопрос можно переформулировать, как сделать что бы видел? :)
Николай
15.11.2018
11:31:00
Maxim
15.11.2018
11:31:45
из скрипта
Николай
15.11.2018
11:35:23
твои вкусы специфичны
Antonio
15.11.2018
11:45:24
Building app
Step 1/17 : ARG PHP_VERSION=${PHP_VERSION}
Step 2/17 : FROM php:${PHP_VERSION}-alpine
ERROR: Service 'app' failed to build: invalid reference format
что ему не нравится?
Viktor
15.11.2018
11:52:28
$ cat Dockerfile
ARG VERSION=${VERSION}
FROM myrepo.com/centos:${VERSION}
CMD ["tail", "-f", "/bin/bash"]
macbook-pro-6:tmp user$ docker build . --build-arg VERSION=7.4.1708 --no-cache
Sending build context to Docker daemon 17.92kB
Step 1/3 : ARG VERSION=${VERSION}
Step 2/3 : FROM myrepo.com/centos:${VERSION}
---> 295a0b2bd8ea
Step 3/3 : CMD ["tail", "-f", "/bin/bash"]
---> Running in 402d9c8dbd82
Removing intermediate container 402d9c8dbd82
---> 31b2d1898365
Successfully built 31b2d1898365
Antonio
15.11.2018
11:53:47
docker-compose build --no-cache
Viktor
15.11.2018
11:54:37
А как он тогда узнает что в PHP_VERSION
Antonio
15.11.2018
11:55:41
docker-compose.yml
app:
build:
context: ./
environment:
- PHP_VERSION='7.2'
volumes:
- ./src:/var/www
- ./supervisord.d:/etc/supervisord.d
depends_on:
- db
Viktor
15.11.2018
11:56:20
environment != build-args
Google
ildar
15.11.2018
11:56:22
Antonio
15.11.2018
11:58:33
app:
build:
context: ./
args:
- PHP_VERSION='7.2'
volumes:
- ./src:/var/www
- ./supervisord.d:/etc/supervisord.d
depends_on:
- db
так?
Viktor
15.11.2018
12:00:27
дока говорит что так https://docs.docker.com/compose/compose-file/#build , попробуй, наверное взлетит
Antonio
15.11.2018
12:02:10
теже яйца только в профиль
Viktor
15.11.2018
12:02:20
Ну наверное
Ivan
15.11.2018
12:03:55
а можно чуток подробнее?
1. качаешь нужный тебе jdk.rpm https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
2. в PHP Dockerfile пишешь
COPY jdk.rpm /tmp
RUN rpm -ivh /tmp/jdk.rpm
Antonio
15.11.2018
12:06:32
antik@ubuntu-2gb-nbg1-1:/var/www/laratest$ cat docker-compose.yml
version: '3'
volumes:
dbdata:
services:
db:
image: mysql:8.0.13
command: --default-authentication-plugin=mysql_native_password
restart: always
env_file:
- ./src/.env
environment:
- MYSQL_DATABASE=${DB_DATABASE}
- MYSQL_USER=${DB_USERNAME}
- MYSQL_PASSWORD=${DB_PASSWORD}
- MYSQL_ROOT_PASSWORD=${DB_ROOT}
ports:
- "3306:3306"
volumes:
- dbdata:/var/lib/mysql
app:
build:
context: ./
args:
- PHP_VERSION='7.2'
volumes:
- ./src:/var/www
- ./supervisord.d:/etc/supervisord.d
depends_on:
- db
antik@ubuntu-2gb-nbg1-1:/var/www/laratest$ docker-compose build --no-cache
WARNING: The DB_DATABASE variable is not set. Defaulting to a blank string.
WARNING: The DB_USERNAME variable is not set. Defaulting to a blank string.
WARNING: The DB_PASSWORD variable is not set. Defaulting to a blank string.
db uses an image, skipping
Building app
Step 1/17 : ARG PHP_VERSION=${PHP_VERSION}
Step 2/17 : FROM php:${PHP_VERSION}-alpine
ERROR: Service 'app' failed to build: invalid reference format
Ivan
15.11.2018
12:24:04
Dmitry
15.11.2018
12:24:20
Да кейс отстой! ;-D
Siergiej
15.11.2018
12:52:47
Andrey
15.11.2018
12:55:35
Ну посмотри лог, там будет подробнее
Siergiej
15.11.2018
12:58:40
Andrey
15.11.2018
12:59:34