Generator creates samples from noise. These samples are "fake"
Discriminator classifies real images (1) or fake (0). During a training run discriminator is fed samples of both, and weights updated
Discriminator weights are frozen, and labels are inverted (1 = fake, 0 = real). Generator weights are updated through GAN. The inversion encourages generator to produce better fake images. Training is done through GAN so generator can take advantages of discriminator updated weights in step 2.
General flow:
Practical example link GAN visualization link