<commit_before>This hook uses 'docker-py' library to deploy containers for a container-manifest(POD)
embeded inside software-config 'config' property.

Container manifest uses standard google container manifest schema[1].

WARNING: This is an experimental implementation.

Specific Inputs and outputs are ignored.

All container ports are bound to specific host ports specified in the manifest.
if a 'hostPort' is not specified, 'containerPort' is used as the 'hostPort'.
This may result in port conflict. IP-PER-POD model is a possible enhancement.

Container manifest:

version: v1beta2      // Required.
containers:           // Required.
  - name: string      // Required.
    image: string     // Required.
    command: [string]
    workingDir: string
    volumeMounts:
      - name: string
        mountPath: string
        readOnly: boolean
    ports:
      - name: string
        containerPort: int
        hostPort: int
        protocol: string
    env:
      - name: string
        value: string
restartPolicy:
  - string: {}
volumes:
  - name: string
    source: emptyDir | HostDir
      emptyDir: {}
      hostDir:
        path: string

[1]https://cloud.google.com/compute/docs/containers/container_vms.<commit_msg>Fix docker hook README formatting<commit_after>This hook uses 'docker-py' library to deploy containers for a container-manifest(POD)
embeded inside software-config 'config' property.

Container manifest uses standard google container manifest schema[1].

WARNING: This is an experimental implementation.

Config 'inputs' and 'outputs' are ignored.

All container ports are bound to specific host ports specified in the manifest.
if a 'hostPort' is not specified, 'containerPort' is used as the 'hostPort'.
This may result in port conflict. IP-PER-POD model is a possible enhancement.

Sample Container Manifest
-------------------------
.. line-block::

    version: v1beta2      // Required.
    containers:           // Required.
      - name: string      // Required.
        image: string     // Required.
        command: [string]
        workingDir: string
        volumeMounts:
          - name: string
            mountPath: string
            readOnly: boolean
        ports:
          - name: string
            containerPort: int
            hostPort: int
            protocol: string
        env:
          - name: string
            value: string
    restartPolicy:
      - string: {}
    volumes:
      - name: string
        source: emptyDir | HostDir
          emptyDir: {}
          hostDir:
            path: string

[1]https://cloud.google.com/compute/docs/containers/container_vms.
{'fraction_non_alphanumeric': 0.08561643835616438, 'fraction_numerical': 0.0030441400304414, 'mean_word_length': 2.3069182389937106, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1215224', 'n_tokens_mistral': 679, 'n_tokens_neox': 673, 'n_words': 253}