Docking is an important and difficult task in ship navigation that has traditionally required excessive time and expert piloting. In this study, an autonomous docking system based on symbol recognition was developed for autonomous surface vehicles (ASVs). The docking process is divided into an approaching phase for approaching the docking port and a docking phase for guiding an ASV into the target docking port. In the docking phase, the desired heading of the ASV is determined considering the centering and lead angles. The centering angle is used for pure tracking, and the lead angle is used for guiding the ASV into the safety zone. Each angle is determined according to the ASV's relative heading angle and position, which are estimated by detecting the dock and symbols using a camera and LiDAR. Docking tests based on Turtlebot and ASV were conducted to verify the performance of the proposed docking algorithm. The performance of the developed autonomous docking system was verified by participating in the docking mission at the Korea Autonomous BOAT competition 2021.