Во многих приложениях устройства хранения будут периодически заняты чтением данных. Если система всегда может отложить запись до того момента, когда запоминающее устройство не будет занято чтением данных, то с точки зрения приложения для завершения записи потребуется нулевое время. Единственные ситуации, в которых запись не будет мгновенной, это когда:
Буферы записи заполняются до такой степени, что запросы отложенной записи больше не могут быть приняты до фактического завершения записи.
Необходимо выключить или удалить устройство, для которого ожидаются записи.
Приложение специально запрашивает подтверждение того, что запись действительно завершена.
Действительно, только из-за вышеперечисленных требований запись вообще должна иметь место. С другой стороны, обычно нет причин не выполнять какие-либо ожидающие записи в то время, когда устройство в противном случае было бы бездействующим, поэтому многие системы выполняют их тогда.
Un par de comentarios primero
Los puertos de escucha son informados por "puerto docker", pero no garantizan que serán reparados.
# docker run --name radiusnet -p 8001-8009:5000/tcp radiusnet
Hosting environment: Production
Content root path: /app
Now listening on: http://localhost:5000
Application started. Press Ctrl+C to shut down.
# docker port radiusnet
5000/tcp -> 0.0.0.0:8001
La prueba del pudín...
# wget -O /tmp/test.html http://localhost:8001/
--2018-02-08 16:22:46-- http://localhost:8001/
Resolving localhost (localhost)... 127.0.0.1
Connecting to localhost (localhost)|127.0.0.1|:8001... connected.
HTTP request sent, awaiting response...
Si esto falla, se han publicado los puertos incorrectos.
Cuando se inicia con "--host de red", el "puerto de la ventana acoplable" puede no informar nada, mientras que la ventana acoplable funciona correctamente. "lsof" puede ayudar.
# docker run --name radiusnet --network host radiusnet
Hosting environment: Production
Content root path: /app
Now listening on: http://localhost:5000
# docker port radiusnet
# ps -ef | grep dotnet
root 540 27973 0 16:46 pts/2 00:00:00 grep dotnet
root 32452 32437 7 16:37 ? 00:00:43 dotnet RadiusNet.Web.dll
# lsof -Pn -p 32452 | grep LISTEN
dotnet 32452 root 368u IPv4 106845 0t0 TCP 127.0.0.1:5000 (LISTEN)
dotnet 32452 root 383u IPv6 106854 0t0 TCP [::1]:5000 (LISTEN)
# wget -O /tmp/test.html http://localhost:5000/
--2018-02-08 16:56:27-- http://localhost:5000/
Resolving localhost (localhost)... 127.0.0.1
Connecting to localhost (localhost)|127.0.0.1|:5000... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: ‘/tmp/test.html’
Bien está lo que bien acaba.