Image dehazing is a hot topic in the field of computer vision. Acquiring large-scale, high-quality paired datasets from real world is costly and challenging. Consequently, existing methods use synthetic data for fully supervised deep learning model training, may lead to poor real-world performance of the model. To bridge the domain gap between synthetic and real domains, a semi-supervised image dehazing algorithm based on teacher-student learning was introduced. In this algorithm, a semi-supervised teacher-student learning with Exponential Moving Average (EMA) strategy was used to update the teacher model, and an end-to-end dehazing learning was performed, thereby addressing domain shift issues between synthetic and real data significantly and enhancing generalization performance of the model in real hazy scenarios. Experimental results demonstrate that the proposed algorithm achieves superior performance on two synthetic hazy image datasets SOTS (Synthetic Objective Testing Set) and Haze4K, as well as the real-world hazy image dataset URHI (Unannotated Real-world Hazy Images), while also delivering enhanced dehazing visual effects.