$ kn container add <container_name> --image <image_uri>
You can use the following commands to create and manage multiple containers in a Knative service spec.
You can use the kn container add
command to print YAML container spec to standard output. This command is useful for multi-container use cases because it can be used along with other standard kn
flags to create definitions.
The kn container add
command accepts all container-related flags that are supported for use with the kn service create
command. The kn container add
command can also be chained by using UNIX pipes (|
) to create multiple container definitions at once.
Add a container from an image and print it to standard output:
$ kn container add <container_name> --image <image_uri>
$ kn container add sidecar --image docker.io/example/sidecar
containers:
- image: docker.io/example/sidecar
name: sidecar
resources: {}
Chain two kn container add
commands together, and then pass them to a kn service create
command to create a Knative service with two containers:
$ kn container add <first_container_name> --image <image_uri> | \
kn container add <second_container_name> --image <image_uri> | \
kn service create <service_name> --image <image_uri> --extra-containers -
--extra-containers -
specifies a special case where kn
reads the pipe input instead of a YAML file.
$ kn container add sidecar --image docker.io/example/sidecar:first | \
kn container add second --image docker.io/example/sidecar:second | \
kn service create my-service --image docker.io/example/my-app:latest --extra-containers -
The --extra-containers
flag can also accept a path to a YAML file:
$ kn service create <service_name> --image <image_uri> --extra-containers <filename>
$ kn service create my-service --image docker.io/example/my-app:latest --extra-containers my-extra-containers.yaml