Launch a bash script from the dock
Automator can be used to create an application "wrapper" around a script, so that you can launch your script like any other application (and it won't spawn a superfluous Terminal window in the process).


Open Automator, and create a new application type workflow. 
Add a Run Shell Script action, and enter your script into the text field.
If your script takes input (such as files), make sure the Pass input setting on the action is set appropriately (either arguments, if you use $1, $2, etc. or stdin). Otherwise you can ignore this setting.
Save the workflow to your location of choice, then drop the resulting file in the Dock.