Sprite movement

Hi, I am creating a game that involves a tank game object and was wondering how it would be possible to move just the cannon which is attached to the base of the tank. I also want the tank to move but the cannon and the base should also move with the tank. So theoretically it should be immovable as the tank moves but the cannon should freely move.

Here is my code:

preload() {
this.load.image(‘tiles’, ‘TILED/tmw_desert_spacing.png’);
this.load.tilemapTiledJSON(‘map’, ‘TILED/desert.json’);
this.load.image( ‘tank’, ‘ASSETS/PNG/Hulls_Color_B/Hull_02.png’);
this.load.image( ‘turret’, ‘ASSETS/PNG/Weapon_Color_B/Gun_03_B.png’);
this.load.image( ‘cannon’, ‘ASSETS/PNG/Weapon_Color_B/cannon.png’);

    }

    create() {

        //LOAD MAP

        var map = this.make.tilemap({ key: 'map'});
        var tiles = map.addTilesetImage('Desert', 'tiles');
        var layer = map.createDynamicLayer('Ground', tiles, 0, 0);

        //CREATE THE PLAYER OBJECT

        /*var tank = this.physics.add.image(150, 150, 'tank').setScale(0.4).setRotation(0.2);
        var turret = this.physics.add.image(500, 150, 'turret').setScale(0.4).setRotation(0.2);
        var cannon = this.physics.add.image(500, 130, 'cannon').setScale(0.4).setRotation(0.2);*/
        
        /*var image1 = this.add.image(200, 10, 'turret').setScale(0.4);
        var image2 = this.add.image(200, -30, 'cannon').setScale(0.4);

        var tank = this.physics.add.image(150, 150, 'tank').setScale(0.4).setRotation(0.2);

        

        var container = this.add.container(300, 300, [image1, image2]);

        container.setSize(128, 64);

        var physicsContainer = this.physics.add.gameObject(container);

        physicsContainer.setFrictionAir(0.001);*/

        var turret = this.add.image(500, 245, 'turret');
        var cannon = this.add.image(500, 150, 'cannon');

        var container = this.add.container(500, 250, [turret, cannon]);