dP/dt<0 when P/k>1, P>k and dP/dt>0 when P<k. There is a positive population growth when P is less than the carrying capacity of the virus so the virus does not stop population growth. When P exceeds the carry capacity the population is reduced over time.
The population in terms of time can be calculated through integration.
Integral(dP/(P(1-P/k))=rt.
Integral((1/P+1/(k-P)dP)=rt using partial fractions.
ln(P)-ln(k-P)=a+rt; ln(P/(k-P)=a+rt; P/(k-P)=Ae^rt. When t=0 P=P0, so A=P0/(k-P0); P/(k-P)=P0e^rt/(k-P0).
So P=kP0e^rt/(k-P0)-PP0e^rt/(k-P0) and P(t)=kP0e^rt/(k-P0+P0e^rt)=k/((k-P0)/P0e^rt+1).
If P0=k, the population becomes stable at k. If P0<k the population increases over time and if P0>k it decreases.