Attempt: From the question, we know that there exist $\delta_1, \delta_2>0$ such that if $|x-c_1|<\delta_1$, then $|f(x)-c_2|<\varepsilon$, and if $|y-c_2|<\delta_2$, then $|g(y)-L|<\varepsilon$ for $\varepsilon >0$.
Let $\varepsilon=\delta = \min\{\delta_1, \delta_2\}$. Then, it is true that there exists $\delta >0 $ such that if $|f(x)-c_2|< \varepsilon = \delta$, then $|g(f(x))-L|< \varepsilon$.
Could you tell me is there any wrong in this proof?
Thank you in advance!

No, that is not correct. You cannot control $\epsilon>0$, the $\epsilon$ is given because we want $|g(f(x))-L|<\epsilon$.
The trick of this is a matter of substitution. First we have some $\delta>0$ such that $|g(y)-L|<\epsilon$ for all $|y-c_{2}|<\delta$. Note that it is given that $g(c_{2})=L$, so initially we should have $0<|y-c_{2}|<\delta$... can be strengthened with $|y-c_{2}|<\delta$.
For this positive number $\delta$, there is some $\delta'>0$ such that $|f(x)-c_{2}|<\delta$ for all $0<|x-c_{1}|<\delta'$.
So for all $x$ with $0<|x-c_{1}|<\delta'$, we have $|f(x)-c_{2}|<\delta$, this $f(x)$ can be substituted as $y$ in $|y-c_{2}|<\delta$, and hence $|g(f(x))-L|<\epsilon$, we are done.