You're quite right that the map from $S^1$ to the $2$-disc is not a fibration! There's an important extra step in the process of constructing a Postnikov tower: "fibrant replacement". Basically, we want to replace our maps (which clearly do the right things to homotopy groups but are not necessarily fibrations) with fibrations (which still do the right things to homotopy groups).
Slogan Every map can be factored as a homotopy equivalence followed by a fibration.
Here's how this works. Let $f : X \to Y$ be a map between spaces. Let $Y^I$ denote the path space of $Y$, i.e. the space of maps $I \to Y$ equipped with the compact-open topology. Let $t : Y^I \to Y$ be the map $t(\gamma) = \gamma(1)$, which sends each path to its endpoint.
Now define $P_f$ (called the mapping path space of $f$) to be the pullback of $t : Y^I \to Y$ along $f : X \to Y$. In other words, $P_f$ is the space of pairs $(x,\gamma) \in X \times Y^I$ such that $\gamma(1) = f(x)$.
$X$ and $P_f$ are actually homotopy equivalent! There is a natural map $(x,\gamma) \mapsto x : P_f \to X$ which has a right inverse $x \mapsto (x, t \mapsto f(x)) : X \to P_f$. The composite $P_f \to X \to P_f$ is given by $(x, \gamma) \mapsto (x, \text{const}_{f(x)})$. This map is indeed homotopic to the identity on $P_f$: for each path $(x, \gamma)$, we slowly retract the path $\gamma$ down to its endpoint, and arrive at $(x, \text{const}_{f(x)})$.
There is also a natural map $P_f \to Y$ given by $(x,\gamma) \mapsto \gamma(0)$. This map is a fibration, and the composition $X \to P_f \to Y$ equals $f$! We have thus factored $f$ as a homotopy equivalence followed by a fibration.
So, basically, when we construct a Postnikov tower, we first kill homotopy groups and then replace the maps with fibrations via the above trick. You can find some details here: https://www.math.ru.nl/~gutierrez/files/Lecture11.pdf
In your example, the situation is relatively simple, because we have only one map to replace. We proceed as follows:
- Start with the map $f : S^1 \to D^2$
- Factor $f$ as $S^1 \to P_f \to D^2$
- The Postnikov tower is just $P_f \to D^2$ (as spaces under $S^1$ via the map $S^1 \to P_f$)
But actually, things are even easier! To construct the $0$th term of a Postnikov tower, you can always just pick $X^0 = *$. No need to bother with filling in cells and whatnot. So the "best" Postnikov tower for $S^1$ is just $S^1 \to *$.