For most in signal processing, a digital signal (source: wikipedia)
is a representation of a physical signal that is a sampled and
quantized
So it represents data as a finite sequence of discrete values. Often, digital data is embedded into a specific format to record/store values (for instance 16-bit words), possibly with a specific coding of symbols (think about sign conventions, or floating point standards), to end up in a concrete bit-wise or symbol-wise representation.
A discrete signal is a more abstract thing. It is an abbreviation for a discrete-time signal. It may possess a countable number of samples, and their values are not restricted to be discrete. Most often, the time interval between samples is constant (or uniform). To me, lacunary signals that are uniformly sampled, but for which some samples are missing, are still considered as discrete.