### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

First of all, I'd like to thank you for this awesome project. Keep up the good work.

Now, to business. I have a script that tries to set the executor at runtime (from `docker-reuse` to `docker` and back again at the end) for a very specific use case. In my `docker-compose` file, I have set the `ENABLE_CONFIG_UPDATES=1` and upon POSTing the request to `/?_config_`, I see the following log message in the logs:

```shell
localstack_1  | 2021-07-26T07:03:35:INFO:localstack.services.infra: Updating value of config variable "LAMBDA_EXECUTOR": docker
````
That said, I was expecting that the next invocation of a Lambda would be using its own container, which it doesn't:

```
localstack.services.awslambda.lambda_executors: Command for docker-reuse Lambda executor:
```

### Expected Behavior

The next invocation of a Lambda would be in its own container.

### How are you starting LocalStack?

With a docker-compose file

### Steps To Reproduce

1. Create a simple `docker-compose.yml` like so:
    ```yaml
    localstack:
      image: localstack/localstack:0.12.15
      ports:
        - "4566:4566"
      environment:
        SERVICES: lambda,cloudformation,s3,cloudwatch,iam,apigateway
        DEFAULT_REGION: eu-west-1
        HOSTNAME_EXTERNAL: localstack
        LAMBDA_EXECUTOR: docker-reuse
        LAMBDA_DOCKER_NETWORK: offline-environment_default
        LAMBDA_REMOTE_DOCKER: 0
        DOCKER_HOST: unix:///var/run/docker.sock
        DEBUG: 1
        ENABLE_CONFIG_UPDATES: 1
        HOST_TMP_FOLDER: /private${TMPDIR}/localstack
        AWS_ACCESS_KEY_ID: test
        AWS_SECRET_ACCESS_KEY: test
      volumes:
        - "./localstack/scripts:/docker-entrypoint-initaws.d"
        - "./localstack/cloudformation:/cloudformation"
        - "/var/run/docker.sock:/var/run/docker.sock"
        - "/private${TMPDIR}/localstack:/tmp/localstack"
    ```
2. Create a CloudFormation template with a Lambda and an S3 bucket (and their required permissions) and place it under the `localstack/cloudformation` directory. The Lambda should be triggered by an S3 object created event (may not matter). 
3. Create a bash script that deploys said CloudFormation template and place it under the `localstack/scripts` directory with the prefix `1_`.
4. Create another bash script that changes the value of `LAMBDA_EXECUTOR` to `docker` (via POSTing to `/?_config_`) and copies a file into the bucket. Again, place the script under the `localstack/scripts` directory with the prefix `2_`.
5. Start the `docker-compose.yml`:
    ```shell
    docker-compose-up
    ```
6. Inspect the logs and verify that everything was deployed correctly and that you see the message `Updating value of config variable "LAMBDA_EXECUTOR": docker`
7. Open the Docker Dashboard or issue the `docker ps` command to confirm that Localstack invoked the Lambda using the `docker-reuse` executor. Can also check the logs and verify that the following message appears:
    ```shell
    localstack.services.awslambda.lambda_executors: Command for docker-reuse Lambda executor:
    ```


### Environment

```markdown
- OS: macOS Big Sur 11.5
- LocalStack: 0.12.15
```
func_details.kms_key_arn = data.get("KMSKeyArn")
        
        
        if not func_details.envvars:
            func_details.kms_key_arn = None
        func_details.memory_size = data.get("MemorySize")
        func_details.code_signing_config_arn = data.get("CodeSigningConfigArn")
        func_details.code = data["Code"]
        func_details.package_type = data.get("PackageType") or "Zip"
        func_details.image_config = data.get("ImageConfig", {})
        func_details.tracing_config = data.get("TracingConfig", {})
        func_details.set_dead_letter_config(data)
        result = set_function_code(func_details.code, lambda_name)
        if isinstance(result, Response):
            del region.lambdas[arn]
            return result
        
        func_details.code.pop("ZipFile", None)
        
        result.update(format_func_details(func_details))
        if data.get("Publish"):
            result["Version"] = publish_new_function_version(arn)["Version"]
        return jsonify(result or {})
    except Exception as e:
        region.lambdas.pop(arn, None)
        if isinstance(e, ClientError):
            return e.get_response()
        return error_response("Unknown error: %s %s" % (e, traceback.format_exc()))
@app.route("%s/functions/<function>" % PATH_ROOT, methods=["GET"])
def get_function(function):