The official way that you'll get taught in school is to learn Karnaugh Maps, and use one per to work out the logic to compute the next value of each bit. Then you work out what set of gates will implement said logic and wire it all up.
I won't bother telling you that one. I'll tell you two ways a hardware hacker does it: the easy way and the clever way.
The Easy Way
Get three one-of-eight multiplexer (MUX) chips, such as the TI SN74LS151. This chip uses three lines (A, B, C) to choose one of eight inputs (D0 through D7) to route to its output (Y).
Connect the three D flip-flop (DFF) outputs to the three select pins of each chip, with the least-significant bit going to A and the most-significant bit going to C. Connect the Y output from each MUX to the D input of its respective DFF.
The W pin is an inverted version of Y; you don't need it so don't connect it. The G pin is an active low enable; connect it to logic 0 (GND).
At this point, all you have to do is wire each D pin on each multiplexer to VCC or GND to set the next state for the DFFs, where the D input number is the current state. For your example (111->010->011->001), the first state is 7, and it advances to 2, so the D7 pins on the bit 2 and bit 0 MUXes are tied to GND, and the bit 1 MUX is tied to VCC. The next state is 3, so the D2 pins on the bit 0 and 1 MUXes are teid to VCC and the one on bit 2's MUX is tied to GND.
Any unused D pins on the MUXes need to be tied to some level; in this case, I'd recommend tying them all to VCC since your first state is 111.
The great thing about this circuit is that you can completely change the count order just by rewiring the D pins. Also, this is how modern FPGAs implement combinational logic, with what are effectively lookup tables.
The Clever Way
You can get one more input bit to your function by realizing that you could connect the D pins to Q or Q-bar from the LSB DFF, and not just VCC or GND. In your example, you could use a dual 4-to-1 multiplexer such as the SN74LS153, and eliminate a MUX chip (one of them can handle two DFF inputs).