Я запускаю два контейнера докеров vm1 и vm2 с одним и тем же образом докера. Оба могут работать успешно по отдельности. Но не может работать в то же время. Я проверил процессор и память. Какой еще ресурс ограничивал докер для запуска нескольких контейнеров?
systemctl status docker
результат только при запуске vm1.
Tasks: 148
Memory: 357.9M
systemctl status docker
результат только при запуске vm2.
Tasks: 140
Memory: 360.0M
Моя система по-прежнему содержит около 4 ГБ свободной оперативной памяти, процессоры тоже простаивают. Когда я запускаю vm1, а затем vm2, vm2 завершается с ошибкой с некоторым журналом, например:
[17:55:50.504452] connect(172.17.0.2, 2889) failed: Operation now in progress
И другой журнал, как
/etc/bashrc: fork: retry: Resource temporarily unavailable
systemctl status docker
результат при запуске 'vm1', а затем 'vm2'.
Tasks: 244
Memory: 372.2M
Команда запуска докера vm1
exec docker run --rm -it --name vm1
-e OUT_IP="$MYIP" \
-h vm1 \
-v /MyLib/opt:/opt:ro \
-v /home/myid:/home/guest \
-v /sybase:/sybase \
-v /sybaseDB:/sybaseDB \
run-image $*
Команда запуска докера vm2
exec docker run --rm -it --name vm2
-e OUT_IP="$MYIP" \
-h vm2 \
-v /MyLib/opt:/opt:ro \
-v /home/myid:/home/guest \
-v /sybase2:/sybase \
-v /sybaseDB2:/sybaseDB2 \
run-image $*
Некоторый результат команды в соответствии с: fork: retry: Ресурс временно недоступен
# in host os
$ sysctl fs.file-nr
fs.file-nr = 4064 0 814022
# in docker container (vm2)
$ sudo su - guest
$ ulimit -Hn
1048576
$ sudo lsof -u guest 2>/dev/null | wc -l
230
Пользователь запуска докера — «гость», но я запускаю программу под учетной записью пользователя «ap» через sudo. Я обнаружил, что результат «ulimit -u» внутри контейнера отличается, образ запуска основан на centos: 6
$ sudo su - guest
$ ulimit -u
unlimited
$ sudo su - ap
$ ulimit -u
1024
docker run ...
, которые вы используете? - person tgogos   schedule 12.04.2018