Известная проблема в Docker-е под маком - дополнительная задержка, возникающая из-за разных файловых систем. На symfony проекте, например, эта задержка доходит до ~5-10сек на открытие одной страницы. Данную проблему отлично решает утилита docker-sync.
1) - sudo gem install docker-sync
2) - Создает docker-sync.yml файл со следующим содержимым (все последующие комманды должны выполняться из папки с проектом-):
version: '2'
options:
verbose: true
syncs:
#название volum-а
app-sync:
src: '.'
sync_excludes: ['var', 'node_modules', 'tests']
3) в файле docker-compose-dev.yml вносим следующие изменения:
volumes:
app-sync:
external: true
Меняем код
services:
#...
php:
#...
volumes:
# ...
- ./app:/var/www/app
На
services:
#...
php:
#...
volumes:
# ...
- app-sync:/var/www/app
То есть, чтобы php контейнер смотрел на наш новый volum
4) Далее создаем volum коммандой:
docker volume create app-sync
5) Выполняем команду
docker-sync start
6) И запускаем
docker-compose -f docker-compose-dev.yml up
Для того чтобы не вводить команды с 4-6 каждый раз, можно создать Make файл со следующим содержимым:
OS := $(shell uname)
start_dev:
ifeq ($(OS),Darwin)
docker volume create --name=app-sync
docker-compose -f docker-compose-dev.yml up -d
docker-sync start
else
docker-compose up -d
endif
stop_dev: ## Stop the Docker containers
ifeq ($(OS),Darwin)
docker-compose stop
docker-sync stop
else
docker-compose stop
endif
И использовать команду
make start_dev
uint i = 0;
double[] m = new double[10];
Console.WriteLine("Введите {0} значений:", m.Length);
do
{
Console.Write("{0}: ", i + 1);
m[i] = Convert.ToDouble(Console.ReadLine());
i++;
}
while (i < m.Length);
int j = Array.FindLastIndex(m, (double d) => d > 0);
Console.WriteLine("Последнее положительное число в массиве - {0} имеет номер - {1}.", m[j], j+1);