Remove Assemble docs

This commit is contained in:
Usha Mandya 2020-03-23 16:33:04 +00:00
parent c56b7a618c
commit 2caa6c64e6
32 changed files with 0 additions and 1336 deletions

View File

@ -1,64 +0,0 @@
command: docker assemble
short: assemble is a high-level build tool
long: assemble is a high-level build tool
pname: docker
plink: docker.yaml
cname:
- docker assemble backend
- docker assemble build
- docker assemble version
clink:
- docker_assemble_backend.yaml
- docker_assemble_build.yaml
- docker_assemble_version.yaml
options:
- option: addr
value_type: string
default_value: docker-container://docker-assemble-backend-root
description: backend address
deprecated: false
experimental: false
experimentalcli: false
kubernetes: false
swarm: false
- option: tlscacert
value_type: string
description: |
specify CA certificate to use when validating the backend service's TLS certificate
deprecated: false
experimental: false
experimentalcli: false
kubernetes: false
swarm: false
- option: tlscert
value_type: string
description: |
specify client certificate to use when connecting to backend service
deprecated: false
experimental: false
experimentalcli: false
kubernetes: false
swarm: false
- option: tlskey
value_type: string
description: specify client key to use when connecting to backend service
deprecated: false
experimental: false
experimentalcli: false
kubernetes: false
swarm: false
- option: tlsservername
value_type: string
description: |
override server name for validation of the backend service's TLS certificate
deprecated: false
experimental: false
experimentalcli: false
kubernetes: false
swarm: false
deprecated: false
experimental: false
experimentalcli: true
kubernetes: false
swarm: false

View File

@ -1,35 +0,0 @@
command: docker assemble backend
short: Manage build backend service
long: Manage build backend service
pname: docker assemble
plink: docker_assemble.yaml
cname:
- docker assemble backend cache
- docker assemble backend image
- docker assemble backend info
- docker assemble backend logs
- docker assemble backend start
- docker assemble backend stop
clink:
- docker_assemble_backend_cache.yaml
- docker_assemble_backend_image.yaml
- docker_assemble_backend_info.yaml
- docker_assemble_backend_logs.yaml
- docker_assemble_backend_start.yaml
- docker_assemble_backend_stop.yaml
inherited_options:
- option: addr
value_type: string
default_value: docker-container://docker-assemble-backend-root
description: backend address
deprecated: false
experimental: false
experimentalcli: false
kubernetes: false
swarm: false
deprecated: false
experimental: false
experimentalcli: true
kubernetes: false
swarm: false

View File

@ -1,27 +0,0 @@
command: docker assemble backend cache
short: Manage build cache
long: Manage build cache
pname: docker assemble backend
plink: docker_assemble_backend.yaml
cname:
- docker assemble backend cache purge
- docker assemble backend cache usage
clink:
- docker_assemble_backend_cache_purge.yaml
- docker_assemble_backend_cache_usage.yaml
inherited_options:
- option: addr
value_type: string
default_value: docker-container://docker-assemble-backend-root
description: backend address
deprecated: false
experimental: false
experimentalcli: false
kubernetes: false
swarm: false
deprecated: false
experimental: false
experimentalcli: true
kubernetes: false
swarm: false

View File

@ -1,22 +0,0 @@
command: docker assemble backend cache purge
short: Purge build cache
long: Purge build cache
usage: docker assemble backend cache purge
pname: docker assemble backend cache
plink: docker_assemble_backend_cache.yaml
inherited_options:
- option: addr
value_type: string
default_value: docker-container://docker-assemble-backend-root
description: backend address
deprecated: false
experimental: false
experimentalcli: false
kubernetes: false
swarm: false
deprecated: false
experimental: false
experimentalcli: true
kubernetes: false
swarm: false

View File

@ -1,22 +0,0 @@
command: docker assemble backend cache usage
short: Show build cache contents
long: Show build cache contents
usage: docker assemble backend cache usage
pname: docker assemble backend cache
plink: docker_assemble_backend_cache.yaml
inherited_options:
- option: addr
value_type: string
default_value: docker-container://docker-assemble-backend-root
description: backend address
deprecated: false
experimental: false
experimentalcli: false
kubernetes: false
swarm: false
deprecated: false
experimental: false
experimentalcli: true
kubernetes: false
swarm: false

View File

@ -1,31 +0,0 @@
command: docker assemble backend image
short: Print image to be used as backend
long: |-
Print image to be used as backend.
This can be useful to do:
docker save -o assemble-backend.tar $(docker assemble backend image)
In order to transport "assemble-backend.tar" to an offline system and:
docker load < assemble-backend.tar
usage: docker assemble backend image
pname: docker assemble backend
plink: docker_assemble_backend.yaml
inherited_options:
- option: addr
value_type: string
default_value: docker-container://docker-assemble-backend-root
description: backend address
deprecated: false
experimental: false
experimentalcli: false
kubernetes: false
swarm: false
deprecated: false
experimental: false
experimentalcli: true
kubernetes: false
swarm: false

View File

@ -1,22 +0,0 @@
command: docker assemble backend info
short: Print information about build backend service
long: Print information about build backend service
usage: docker assemble backend info
pname: docker assemble backend
plink: docker_assemble_backend.yaml
inherited_options:
- option: addr
value_type: string
default_value: docker-container://docker-assemble-backend-root
description: backend address
deprecated: false
experimental: false
experimentalcli: false
kubernetes: false
swarm: false
deprecated: false
experimental: false
experimentalcli: true
kubernetes: false
swarm: false

View File

@ -1,32 +0,0 @@
command: docker assemble backend logs
short: Show logs for build backend service
long: Show logs for build backend service
usage: docker assemble backend logs
pname: docker assemble backend
plink: docker_assemble_backend.yaml
options:
- option: follow
value_type: bool
default_value: "false"
description: follow log output
deprecated: false
experimental: false
experimentalcli: false
kubernetes: false
swarm: false
inherited_options:
- option: addr
value_type: string
default_value: docker-container://docker-assemble-backend-root
description: backend address
deprecated: false
experimental: false
experimentalcli: false
kubernetes: false
swarm: false
deprecated: false
experimental: false
experimentalcli: true
kubernetes: false
swarm: false

View File

@ -1,60 +0,0 @@
command: docker assemble backend start
short: Start build backend service
long: Start build backend service
usage: docker assemble backend start
pname: docker assemble backend
plink: docker_assemble_backend.yaml
options:
- option: allow-host-port
value_type: uintSlice
default_value: '[5000]'
description: |
allow the backend to access a host port by starting a proxy container
deprecated: false
experimental: false
experimentalcli: false
kubernetes: false
swarm: false
- option: cache-volume
value_type: string
description: |
named volume to use as build cache (default "docker-assemble-backend-cache-root" if it exists, otherwise an anonymous volume)
deprecated: false
experimental: false
experimentalcli: false
kubernetes: false
swarm: false
- option: host-port
value_type: uint16
default_value: "0"
description: host port to expose build service (0 is a random port)
deprecated: false
experimental: false
experimentalcli: false
kubernetes: false
swarm: false
- option: image
value_type: string
default_value: scratch
description: image to use
deprecated: false
experimental: false
experimentalcli: false
kubernetes: false
swarm: false
inherited_options:
- option: addr
value_type: string
default_value: docker-container://docker-assemble-backend-root
description: backend address
deprecated: false
experimental: false
experimentalcli: false
kubernetes: false
swarm: false
deprecated: false
experimental: false
experimentalcli: true
kubernetes: false
swarm: false

View File

@ -1,32 +0,0 @@
command: docker assemble backend stop
short: Stop build backend service
long: Stop build backend service
usage: docker assemble backend stop
pname: docker assemble backend
plink: docker_assemble_backend.yaml
options:
- option: keep
value_type: bool
default_value: "false"
description: stop but don't destroy the container
deprecated: false
experimental: false
experimentalcli: false
kubernetes: false
swarm: false
inherited_options:
- option: addr
value_type: string
default_value: docker-container://docker-assemble-backend-root
description: backend address
deprecated: false
experimental: false
experimentalcli: false
kubernetes: false
swarm: false
deprecated: false
experimental: false
experimentalcli: true
kubernetes: false
swarm: false

View File

@ -1,150 +0,0 @@
command: docker assemble build
short: Build a project into a container
long: Build a project into a container
usage: docker assemble build [PATH]
pname: docker assemble
plink: docker_assemble.yaml
options:
- option: debug-dump-config
value_type: string
deprecated: false
experimental: false
experimentalcli: false
kubernetes: false
swarm: false
- option: debug-dump-image
value_type: string
deprecated: false
experimental: false
experimentalcli: false
kubernetes: false
swarm: false
- option: debug-dump-llb
value_type: string
deprecated: false
experimental: false
experimentalcli: false
kubernetes: false
swarm: false
- option: debug-skip-build
value_type: bool
default_value: "false"
deprecated: false
experimental: false
experimentalcli: false
kubernetes: false
swarm: false
- option: frontend
value_type: string
deprecated: false
experimental: false
experimentalcli: false
kubernetes: false
swarm: false
- option: frontend-devel
value_type: string
deprecated: false
experimental: false
experimentalcli: false
kubernetes: false
swarm: false
- option: label
value_type: stringArray
default_value: '[]'
description: label to write into the image as `KEY=VALUE`
deprecated: false
experimental: false
experimentalcli: false
kubernetes: false
swarm: false
- option: name
value_type: string
description: |
build image with repository `NAME` (default taken from project metadata)
deprecated: false
experimental: false
experimentalcli: false
kubernetes: false
swarm: false
- option: namespace
value_type: string
description: |
build image within repository `NAMESPACE` (default no namespace)
deprecated: false
experimental: false
experimentalcli: false
kubernetes: false
swarm: false
- option: option
shorthand: o
value_type: stringArray
default_value: '[]'
description: set an option as `OPTION=VALUE`
deprecated: false
experimental: false
experimentalcli: false
kubernetes: false
swarm: false
- option: port
value_type: stringArray
default_value: '[]'
description: port to expose from container
deprecated: false
experimental: false
experimentalcli: false
kubernetes: false
swarm: false
- option: progress
value_type: string
default_value: auto
description: |
set type of progress (auto, plain, tty). Use plain to show container output
deprecated: false
experimental: false
experimentalcli: false
kubernetes: false
swarm: false
- option: push
value_type: bool
default_value: "false"
description: push result to registry, not local image store
deprecated: false
experimental: false
experimentalcli: false
kubernetes: false
swarm: false
- option: push-insecure
value_type: bool
default_value: "false"
description: |
push result to insecure (http) registry, not local image store
deprecated: false
experimental: false
experimentalcli: false
kubernetes: false
swarm: false
- option: tag
value_type: string
description: |
tag image with `TAG` (default taken from project metadata or "latest")
deprecated: false
experimental: false
experimentalcli: false
kubernetes: false
swarm: false
inherited_options:
- option: addr
value_type: string
default_value: docker-container://docker-assemble-backend-root
description: backend address
deprecated: false
experimental: false
experimentalcli: false
kubernetes: false
swarm: false
deprecated: false
experimental: false
experimentalcli: true
kubernetes: false
swarm: false

View File

@ -1,22 +0,0 @@
command: docker assemble version
short: Print the version number of docker assemble
long: Print the version number of docker assemble
usage: docker assemble version
pname: docker assemble
plink: docker_assemble.yaml
inherited_options:
- option: addr
value_type: string
default_value: docker-container://docker-assemble-backend-root
description: backend address
deprecated: false
experimental: false
experimentalcli: false
kubernetes: false
swarm: false
deprecated: false
experimental: false
experimentalcli: true
kubernetes: false
swarm: false

View File

@ -351,32 +351,6 @@ reference:
title: docker app validate
- path: /engine/reference/commandline/app_version/
title: docker app version
- sectiontitle: docker assemble
section:
- path: /engine/reference/commandline/assemble/
title: docker assemble
- path: /engine/reference/commandline/assemble_backend/
title: docker assemble backend
- path: /engine/reference/commandline/assemble_backend_cache/
title: docker assemble backend cache
- path: /engine/reference/commandline/assemble_backend_cache_purge/
title: docker assemble backend cache purge
- path: /engine/reference/commandline/assemble_backend_cache_usage/
title: docker assemble backend cache usage
- path: /engine/reference/commandline/assemble_backend_image/
title: docker assemble backend image
- path: /engine/reference/commandline/assemble_backend_info/
title: docker assemble backend info
- path: /engine/reference/commandline/assemble_backend_logs/
title: docker assemble backend logs
- path: /engine/reference/commandline/assemble_backend_start/
title: docker assemble backend start
- path: /engine/reference/commandline/assemble_backend_stop/
title: docker assemble backend stop
- path: /engine/reference/commandline/assemble_build/
title: docker assemble build
- path: /engine/reference/commandline/assemble_version/
title: docker assemble version
- path: /engine/reference/commandline/attach/
title: docker attach
- path: /engine/reference/commandline/build/
@ -1129,20 +1103,6 @@ manuals:
title: Docker Buildx
- path: /engine/context/working-with-contexts/
title: Docker Context
- sectiontitle: Docker Assemble
section:
- path: /assemble/install/
title: Install
- path: /assemble/spring-boot/
title: Build a Spring Boot project
- path: /assemble/dot-net/
title: Build a C# ASP.NET Core project
- path: /assemble/configure/
title: Configure
- path: /assemble/images/
title: Images
- path: /assemble/adv-backend-manage/
title: Advanced Backend Management
- sectiontitle: Docker Compose
section:
- path: /compose/

View File

@ -1,90 +0,0 @@
---
title: Advanced backend management
description: Advanced backend management for Docker Assemble
keywords: Backend, Assemble, Docker Enterprise, plugin, Spring Boot, .NET, c#, F#
---
## Backend access to host ports
Docker Assemble requires its own buildkit instance to be running in a Docker container on the local system. You can start and manage the backend using the `backend` subcommand of `docker assemble`. For more information, see [Install Docker Assemble](/install).
As the backend runs in a container with its own network namespace, it cannot access host resources directly. This is most noticeable when trying to push to a local registry as `localhost:5000`.
The backend supports a sidecar container which proxies ports from within the backend container to the container's gateway (which is in effect a host IP). This is sufficient to allow access to host ports which have been bound to `0.0.0.0` (or to the gateway specifically), but not ones which are bound to `127.0.0.1`.
By default, port 5000 is proxied in this way, as that is the most common port used for a local registry to allow access to a local registry on `localhost:5000` (the most common setup). You can proxy other ports using the `--allow-host-port` option to docker assemble backend start.
For example, to expose port `6000` instead of port `5000`, run:
```
$ docker assemble backend start --allow-host-port 6000
```
> **Notes:**
>
> - You can repeat the `--allow-host-port` option or give it a comma separated list of ports.
> - Passing `--allow-host-port 0` disables the default and no ports are exposed. For example:
>
> `$ docker assemble backend start --allow-host-port 0`
> - On Docker Desktop, this functionality allows the backend to access ports on the Docker Desktop VM host, rather than the Windows or macOS host. To access the the Windows or macOS host port, you can use `host.docker.internal` as usual.
## Backend sub-commands
### Info
The info sub-command describes the backend:
```
~$ docker assemble backend info
ID: 2f03e7d288e6bea770a2acba4c8c918732aefcd1946c94c918e8a54792e4540f (running)
Image: docker/assemble-backend@sha256:«…»
Sidecar containers:
- 0f339c0cc8d7 docker-assemble-backend-username-proxy-port-5000 (running)
Found 1 worker(s):
- 70it95b8x171u5g9jbixkscz9
Platforms:
- linux/amd64
Labels:
- com.docker.assemble.commit: «…»
- org.mobyproject.buildkit.worker.executor: oci
- org.mobyproject.buildkit.worker.hostname: 2f03e7d288e6
- org.mobyproject.buildkit.worker.snapshotter: overlayfs
Build cache contains 54 entries, total size 3.65GB (0B currently in use)
```
### Stop
The stop sub-command destroys the backend container
```
~$ docker assemble backend stop
```
### Logs
The logs sub-command displays the backend logs.
```
~$ docker assemble backend logs
```
### Cache
The build cache gets lost when the backend is stopped. To avoid this, you can create a volume named `docker-assemble-backend-cache-«username»` and it will automatically be used as the build cache.
Alternatively you can specify a named docker volume to use for the cache. For example:
```
~$ docker volume create $USER-assemble-cache
username-assemble-cache
~$ docker assemble backend start --cache-volume=username-assemble-cache
Pulling image «…»: Success
Started container "docker-assemble-backend-username" (74476d3fdea7)
```
For information regarding the current cache contents, run the command `docker assemble backend cache usage`.
To clean the cache, run `docker assemble backend cache purge`.

View File

@ -1,134 +0,0 @@
---
title: Docker Assemble CLI reference
description: Docker Assemble CLI reference
keywords: Docker, assemble, Spring Boot, ASP .NET, backend
---
This page provides information about the `docker assemble` command.
## Overview
Docker Assemble (`docker assemble`) is a CLI plugin which provides a language and framework-aware tool that enables users to build an application into an optimized Docker container.
For more information about Docker Assemble, see [Docker Assemble](/assemble/install/).
## `docker assemble` commands
To view the commands and sub-commands available in `docker assemble`, run:
`docker assemble --help`
```
Usage: docker assemble [OPTIONS] COMMAND
assemble is a high-level build tool
Options:
--addr string backend address (default
"docker-container://docker-assemble-backend-Usha-Mandya")
Management Commands:
backend Manage build backend service
Commands:
build Build a project into a container
version Print the version number of docker assemble
Run 'docker assemble COMMAND --help' for more information on a command.
```
### backend
The `docker assemble backend` command allows you to manage and build backend services. Docker Assemble requires its own buildkit instance to be running in a Docker container on the local system.
```
Usage: docker assemble backend [OPTIONS] COMMAND
Manage build backend service
Options:
--addr string backend address (default
"docker-container://docker-assemble-backend-username")
Management Commands:
cache Manage build cache
Commands:
info Print information about build backend service
logs Show logs for build backend service
start Start build backend service
stop Stop build backend service
Run 'docker assemble backend COMMAND --help' for more information on a command.
```
For example:
```
docker assemble backend start
Pulling image «…»: Success
Started backend container "docker-assemble-backend-username" (3e627bb365a4)
```
For more information about `backend`, see [Advanced backend management](/assemble/adv-backend-manage).
### build
The `docker assemble build` command enables you to build a project into a container.
```
Usage: docker assemble build [PATH]
Build a project into a container
Options:
--addr string backend address (default
"docker-container://docker-assemble-backend-username")
--label KEY=VALUE label to write into the image as KEY=VALUE
--name NAME build image with repository NAME (default
taken from project metadata)
--namespace NAMESPACE build image within repository NAMESPACE
(default no namespace)
-o, --option OPTION=VALUE set an option as OPTION=VALUE
--port stringArray port to expose from container
--progress string set type of progress (auto, plain, tty).
Use plain to show container output (default
"auto")
--push push result to registry, not local image store
--push-insecure push result to insecure (http) registry,
not local image store
--tag TAG tag image with TAG (default taken from
project metadata or "latest")
```
For example:
```
~$ docker assemble build docker-springframework
«…»
Successfully built: docker.io/library/hello-boot:1
```
## version
The `docker assemble version` command displays the version number of Docker Assemble.
```
Usage: docker assemble version
Print the version number of docker assemble
Options:
--addr string backend address (default
"docker-container://docker-assemble-backend-username")
```
For example:
```
> docker assemble version
docker assemble v0.31.0
commit: d089e2be00b0f7d7f565aeba11cb8bc6dd56a40b
buildkit: 2bd8e6cb2b42
os/arch: windows/amd64
```

View File

@ -1,81 +0,0 @@
---
title: Configure Docker Assemble
description: Installing Docker Assemble
keywords: Assemble, Docker Enterprise, plugin, Spring Boot, .NET, c#, F#
---
Although you dont need to configure anything to build a project using Docker Assemble, you may wish to override the defaults, and in some cases, add fields that werent automatically detected from the project file. To support this, Docker Assemble allows you to add a file `docker-assemble.yaml` to the root of your project. The settings you provide in the `docker-assemble.yaml` file overrides any auto-detection and can themselves be overridden by command-line arguments
The `docker-assemble.yaml` file is in YAML syntax and has the following informal schema:
- `version`: (_string_) mandatory, must contain `0.2.0`
- `image`: (_map_) contains options related to the output image.
- `platforms`: (_list of strings_) lists the possible platforms which can be built (for example, `linux/amd64`, `windows/amd64`). The default is determined automatically from the project type and content. Note that by default Docker Assemble will build only for `linux/amd64` unless `--push` is used. See [Building Multiplatform images](/assemble/images/#multi-platform-images).
- `ports`: (_list of strings_) contains ports to expose from a container running the image. e.g `80/tcp` or `8080`. Default is to automatically determine the set of ports to expose where possible. To disable this and export no ports specify a list containing precisely one element of `none`.
- `labels`: (_map_) contains labels to write into the image as `key`-`value` (_string_) pairs.
- `repository-namespace`: (_string_) the registry and path component of the desired output image. e.g. `docker.io/library` or `docker.io/user`.
- `repository-name`: (_string_) the name of the specific image within `repository-namespace`. Overrides any name derived from the build system specific configuration.
- `tag`: (_string_) the default tag to use. Overrides and version/tag derived from the build system specific configuration.
- `healthcheck`: (_map_) describes how to check a container running the image is healthy.
- `kind`: (_string_) sets the type of Healthcheck to perform. Valid values are `none`, `simple-tcpport-open` and `springboot`. See [Health checks](/assemble/images/#health-checks).
- `interval`: (_duration_) the time to wait between checks.
- `timeout`: (_duration_) the time to wait before considering the check to have hung.
- `start-period`: (_duration_) period for the container to initialize before the retries starts to count down
- `retries`: (_integer_) number of consecutive failures needed to consider a container as unhealthy.
- `springboot`: (_map_) if this is a Spring Boot project then contains related configuration options.
- `enabled`: (_boolean_) true if this is a springboot project.
- `java-version`: (_string_) configures the Java version to use. Valid options are `8` and `10`.
- `build-image`: (_string_) sets a custom base build image
- `runtime-images` (_map_) sets a custom base runtime image by platform. For valid keys, refer to the **Spring Boot** section in [Custom base images](/assemble/images/#custom-base-images).
- `aspnetcore`: (_map_) if this is an ASP.NET Core project then contains related configuration options.
- `enabled`: (_boolean_) true if this is an ASP.NET Core project.
- `version`: (_string_) configures the ASP.NET Core version to use. Valid options are `1.0`, `1.1`, `2.0` and `2.1`.
- `build-image`: (_string_) sets a custom base build image
- `runtime-images` (_map_) sets a custom base runtime image by platform. For valid keys, refer to the **ASP.NET Core** section in [Custom base images](/assemble/images/#custom-base-images).
> **Notes:**
>
> - The only mandatory field in `docker-assemble.yaml` is `version`. All other parameters are optional.
>
> - At most one of `dotnet` or `springboot` can be present in the yaml file.
>
> - Fields of type duration are integers with nanosecond granularity. However the following units of time are supported: `ns`, `us` (or `µs`), `ms`, `s`, `m`, `h`. For example, `25s`.
Each setting in the configuration file has a command line equivalent which can be used with the `-o/--option` argument, which takes a `KEY=VALUE` string where `KEY` is constructed by joining each element of the YAML hierarchy with a period (.).
For example, the `image → repository-namespace` key in the YAML becomes `-o image.repository-namespace=NAME` on the command line and `springboot → enabled` becomes `-o springboot.enabled=BOOLEAN`.
The following convenience aliases take precedence over the `-o/--option` equivalents:
- `--namespace` is an alias for `image.repository-namespace`;
- `--name` corresponds to `image.repository-name`;
- `--tag` corresponds to `image.tag`;
- `--label` corresponds to `image.labels` (can be used multiple times);
- `--port` corresponds to `image.ports` (can be used multiple times)

View File

@ -1,65 +0,0 @@
---
title: Build a C# ASP.NET Core project
description: Building a C# ASP.NET Core project using Docker Assemble
keywords: Assemble, Docker Enterprise, Spring Boot, container image
---
Ensure you are running the `backend` before you build any projects using Docker Assemble. For instructions on running the backend, see [Install Docker Assemble](/assemble/install).
Clone the git repository you would like to use. The following example uses the `dotnetdemo` repository.
```
~$ git clone https://github.com/mbentley/dotnetdemo
Cloning into 'dotnetdemo'...
«…»
```
Build the project using the `docker assemble build` command by passing it the path to the source repository (or a subdirectory in the following example):
```
~$ docker assemble build dotnetdemo/dotnetdemo
«…»
Successfully built: docker.io/library/dotnetdemo:latest
```
The resulting image is exported to the local Docker image store using a name and a tag which are automatically determined by the project metadata.
```
~$ docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
dotnetdemo latest a055e61e3a9e 24 seconds ago 349MB
```
An image name consists of `«namespace»/«name»:«tag»`. Where, `«namespace»/` is optional and defaults to `none`. If the project metadata does not contain a tag (or a version), then latest is used. If the project metadata does not contain a name and it was not provided on the command line, then a fatal error occurs.
Use the `--namespace`, `--name` and `--tag` options to override each element of the image name:
```
~$ docker assemble build --name testing --tag latest dotnetdemo/
«…»
INFO[0007] Successfully built "testing:latest"
~$ docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
testing latest d7f41384814f 32 seconds ago 97.4MB
hello-boot 1 0dbc2c425cff 5 minutes ago 97.4MB
```
Run the container:
```
~$ docker run -d --rm -p 8080:80 dotnetdemo:latest
e1c54291e96967dad402a81c4217978a544e4d7b0fdd3c0a2e2cca384c3b4adb
~$ docker ps
CONTAINER ID IMAGE COMMAND «…» PORTS NAMES
e1c54291e969 dotnetdemo:latest "dotnet dotnetdemo.d…" «…» 0.0.0.0:8080->80/tcp lucid_murdock
~$ docker logs e1c54291e969
warn: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[35]
No XML encryptor configured. Key {11bba23a-71ad-4191-b583-4f974e296033} may be persisted to storage in unencrypted form.
Hosting environment: Production
Content root path: /app
Now listening on: http://[::]:80
Application started. Press Ctrl+C to shut down.
~$ curl -s localhost:8080 | grep '<h4>'
<h4>This environment is </h4>
<h4>served from e1c54291e969 at 11/22/2018 16:00:23</h4>
~$ docker rm -f e1c54291e969
```

View File

@ -1,116 +0,0 @@
---
title: Docker Assemble images
description: Building Docker Assemble images
keywords: Assemble, Docker Enterprise, plugin, Spring Boot, .NET, c#, F#
---
## Multi-platform images
By default, Docker Assemble builds images for the `linux/amd64` platform and exports them to the local Docker image store. This is also true when running Docker Assemble on Windows or macOS. For some application frameworks, Docker Assemble can build multi-platform images to support running on several host platforms. For example, `linux/amd64` and `windows/amd64`.
To support multi-platform images, images must be pushed to a registry instead of the local image store. This is because the local image store can only import uni-platform images which match its platform.
To enable the multi-platform mode, use the `--push` option. For example:
```bash
$ docker assemble build --push /path/to/my/project
```
To push to an insecure (unencrypted) registry, use `--push-insecure` instead of `--push`.
## Custom base images
Docker Assemble allows you to override the base images for building and running your project. For example, the following `docker-assemble.yaml` file defines `maven:3-ibmjava-8-alpine` as the base build image and `openjdk:8-jre-alpine` as the base runtime image (for linux/amd64 platform).
```
version: "0.2.0"
springboot:
enabled: true
build-image: "maven:3-ibmjava-8-alpine"
runtime-images:
linux/amd64: "openjdk:8-jre-alpine"
```
Linux-based images must be Debian, Red Hat, or Alpine-based and have a standard environment with:
- `find`
- `xargs`
- `grep`
- `true`
- a standard POSIX shell (located at `/bin/sh`)
These tools are required for internal inspection that Docker Assemble performs on the images. Depending on the type of your project and your configuration, the base images must meet other requirements as described in the following sections.
### Spring Boot
Install Java JDK and maven on the base build image and ensure it is available in `$PATH`. Install a maven settings file as `/usr/share/maven/ref/settings-docker.xml` (irrespective of the install location of Maven).
Ensure the base runtime image has Java JRE installed and is available in `$PATH`. The build and runtime image must have the same version of Java installed.
Supported build platform:
- `linux/amd64`
Supported runtime platforms:
- `linux/amd64`
- `windows/amd64`
### ASP.NET Core
Install .NET Core SDK on the base build image and ensure it includes the [.NET Core command-line interface tools](https://docs.microsoft.com/en-us/dotnet/core/tools/?tabs=netcore2x).
Install [.NET Core command-line interface tools](https://docs.microsoft.com/en-us/dotnet/core/tools/?tabs=netcore2x) on the base runtime image.
Supported build platform:
- `linux/amd64`
Supported runtime platforms:
- `linux/amd64`
- `windows/amd64`
## Bill of lading
Docker Assemble generates a bill of lading when building an image. This contains information about the tools, base images, libraries, and packages used by Assemble to build the image and that are included in the runtime image. The bill of lading has two parts one for build and one for runtime.
The build part includes:
- The base image used
- A map of packages installed and their versions
- A map of libraries used for the build and their versions
- A map of build tools and their corresponding versions
The runtime part includes:
- The base image used
- A map of packages installed and their versions
- A map of runtime tools and their versions
You can find the bill of lading by inspecting the resulting image. It is stored using the label `com.docker.assemble.bill-of-lading`:
{% raw %}
```bash
$ docker image inspect --format '{{ index .Config.Labels "com.docker.assemble.bill-of-lading" }}' <image>
```
{% endraw %}
> **Note:** The bill of lading is only supported on the `linux/amd64` platform and only for images which are based on Alpine (`apk`), Red Hat (`rpm`) or Debian (`dpkg-query`).
## Health checks
Docker Assemble only supports health checks on `linux/amd64` based runtime images and require certain additional commands to be present depending on the value of `image.healthcheck.kind`:
- `simple-tcpport-open:` requires the `nc` command
- `springboot:` requires the `curl` and `jq` commands
On Alpine (`apk`) and Debian (`dpkg`) based images, these dependencies are installed automatically. For other base images, you must ensure they are present in the images you specify.
If your base runtime image lacks the necessary commands, you may need to set `image.healthcheck.kind` to `none` in your `docker-assemble.yaml` file.

View File

@ -1,41 +0,0 @@
---
title: Docker Assemble
description: Installing Docker Assemble
keywords: Assemble, Docker Enterprise, plugin, Spring Boot, .NET, c#, F#
---
>This is an experimental feature.
>
>{% include experimental.md %}
## Overview
Docker Assemble (`docker assemble`) is a plugin which provides a language and framework-aware tool that enables users to build an application into an optimized Docker container. With Docker Assemble, users can quickly build Docker images without providing configuration information (like Dockerfile) by auto-detecting the required information from existing framework configuration.
Docker Assemble supports the following application frameworks:
- [Spring Boot](https://spring.io/projects/spring-boot) when using the [Maven](https://maven.apache.org/) build system
- [ASP.NET Core](https://docs.microsoft.com/en-us/aspnet/core) (with C# and F#)
## System requirements
Docker Assemble requires a Linux, Windows, or a macOS Mojave with the Docker Engine installed.
## Install
Docker Assemble requires its own buildkit instance to be running in a Docker container on the local system. You can start and manage the backend using the `backend` subcommand of `docker assemble`.
To start the backend, run:
```
~$ docker assemble backend start
Pulling image «…»: Success
Started backend container "docker-assemble-backend-username" (3e627bb365a4)
```
When the backend is running, it can be used for multiple builds and does not need to be restarted.
> **Note:** For instructions on running a remote backend, accessing logs, saving the build cache in a named volume, accessing a host port, and for information about the buildkit instance, see `--help` .
For advanced backend user information, see [Advanced Backend Management](/assemble/adv-backend-manage/).

View File

@ -1,70 +0,0 @@
---
title: Build a Spring Boot project
description: Building a Spring Boot project using Docker Assemble
keywords: Assemble, Docker Enterprise, Spring Boot, container image
---
Ensure you are running the `backend` before you build any projects using Docker Assemble. For instructions on running the backend, see [Install Docker Assemble](/assemble/install).
Clone the git repository you would like to use. The following example uses the `docker-springframework` repository.
```
~$ git clone https://github.com/anokun7/docker-springframework
Cloning into 'docker-springframework'...
«…»
```
When you build a Spring Boot project, Docker Assemble automatically detects the information it requires from the `pom.xml` project file.
Build the project using the `docker assemble build` command by passing it the path to the source repository:
```
~$ docker assemble build docker-springframework
«…»
Successfully built: docker.io/library/hello-boot:1
```
The resulting image is exported to the local Docker image store using a name and a tag which are automatically determined by the project metadata.
```
~$ docker image ls | head -n 2
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-boot 1 00b0fbcf3c40 About a minute ago 97.4MB
```
An image name consists of `«namespace»/«name»:«tag»`. Where, `«namespace»/` is optional and defaults to `none`. If the project metadata does not contain a tag (or a version), then `latest` is used. If the project metadata does not contain a name and it was not provided on the command line, a fatal error occurs.
Use the `--namespace`, `--name` and `--tag` options to override each element of the image name:
```
~$ docker assemble build --name testing --tag latest docker-springframework/
«…»
INFO[0007] Successfully built "testing:latest"
~$ docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
testing latest d7f41384814f 32 seconds ago 97.4MB
hello-boot 1 0dbc2c425cff 5 minutes ago 97.4MB
```
Run the container:
```
~$ docker run -d --rm -p 8080:8080 hello-boot:1
b2c88bdc35761ba2b99f85ce1f3e3ce9ed98931767b139a0429865cadb46ce13
~$ docker ps
CONTAINER ID IMAGE COMMAND «…» PORTS NAMES
b2c88bdc3576 hello-boot:1 "java -Djava.securit…" «…» 0.0.0.0:8080->8080/tcp silly_villani
~$ docker logs b2c88bdc3576
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v1.5.2.RELEASE)
«…» : Starting Application v1 on b2c88bdc3576 with PID 1 (/hello-boot-1.jar started by root in /)
«…»
~$ curl -s localhost:8080
Hello from b2c88bdc3576
~$ docker rm -f b2c88bdc3576
```

View File

@ -1,15 +0,0 @@
---
datafolder: assemble
datafile: docker_assemble
title: docker assemble
enterprise_only: true
skip_read_time: true
---
<!--
This page is automatically generated from Docker's source code. If you want to
suggest a change to the text that appears here, open a ticket or pull request
in the source repository on GitHub:
https://github.com/docker/app
-->
{% include cli.md datafolder=page.datafolder datafile=page.datafile %}

View File

@ -1,15 +0,0 @@
---
datafolder: assemble
datafile: docker_assemble_backend
title: docker assemble backend
enterprise_only: true
skip_read_time: true
---
<!--
This page is automatically generated from Docker's source code. If you want to
suggest a change to the text that appears here, open a ticket in the documentation
repository:
https://github.com/docker/docker.github.io/issues/new
-->
{% include cli.md datafolder=page.datafolder datafile=page.datafile %}

View File

@ -1,15 +0,0 @@
---
datafolder: assemble
datafile: docker_assemble_backend_cache
title: docker assemble backend cache
enterprise_only: true
skip_read_time: true
---
<!--
This page is automatically generated from Docker's source code. If you want to
suggest a change to the text that appears here, open a ticket in the documentation
repository:
https://github.com/docker/docker.github.io/issues/new
-->
{% include cli.md datafolder=page.datafolder datafile=page.datafile %}

View File

@ -1,15 +0,0 @@
---
datafolder: assemble
datafile: docker_assemble_backend_cache_purge
title: docker assemble backend cache purge
enterprise_only: true
skip_read_time: true
---
<!--
This page is automatically generated from Docker's source code. If you want to
suggest a change to the text that appears here, open a ticket in the documentation
repository:
https://github.com/docker/docker.github.io/issues/new
-->
{% include cli.md datafolder=page.datafolder datafile=page.datafile %}

View File

@ -1,15 +0,0 @@
---
datafolder: assemble
datafile: docker_assemble_backend_cache_usage
title: docker assemble backend cache usage
enterprise_only: true
skip_read_time: true
---
<!--
This page is automatically generated from Docker's source code. If you want to
suggest a change to the text that appears here, open a ticket in the documentation
repository:
https://github.com/docker/docker.github.io/issues/new
-->
{% include cli.md datafolder=page.datafolder datafile=page.datafile %}

View File

@ -1,15 +0,0 @@
---
datafolder: assemble
datafile: docker_assemble_backend_image
title: docker assemble backend image
enterprise_only: true
skip_read_time: true
---
<!--
This page is automatically generated from Docker's source code. If you want to
suggest a change to the text that appears here, open a ticket in the documentation
repository:
https://github.com/docker/docker.github.io/issues/new
-->
{% include cli.md datafolder=page.datafolder datafile=page.datafile %}

View File

@ -1,15 +0,0 @@
---
datafolder: assemble
datafile: docker_assemble_backend_info
title: docker assemble backend info
enterprise_only: true
skip_read_time: true
---
<!--
This page is automatically generated from Docker's source code. If you want to
suggest a change to the text that appears here, open a ticket in the documentation
repository:
https://github.com/docker/docker.github.io/issues/new
-->
{% include cli.md datafolder=page.datafolder datafile=page.datafile %}

View File

@ -1,15 +0,0 @@
---
datafolder: assemble
datafile: docker_assemble_backend_logs
title: docker assemble backend logs
enterprise_only: true
skip_read_time: true
---
<!--
This page is automatically generated from Docker's source code. If you want to
suggest a change to the text that appears here, open a ticket in the documentation
repository:
https://github.com/docker/docker.github.io/issues/new
-->
{% include cli.md datafolder=page.datafolder datafile=page.datafile %}

View File

@ -1,15 +0,0 @@
---
datafolder: assemble
datafile: docker_assemble_backend_start
title: docker assemble backend start
enterprise_only: true
skip_read_time: true
---
<!--
This page is automatically generated from Docker's source code. If you want to
suggest a change to the text that appears here, open a ticket in the documentation
repository:
https://github.com/docker/docker.github.io/issues/new
-->
{% include cli.md datafolder=page.datafolder datafile=page.datafile %}

View File

@ -1,15 +0,0 @@
---
datafolder: assemble
datafile: docker_assemble_backend_stop
title: docker assemble backend stop
enterprise_only: true
skip_read_time: true
---
<!--
This page is automatically generated from Docker's source code. If you want to
suggest a change to the text that appears here, open a ticket in the documentation
repository:
https://github.com/docker/docker.github.io/issues/new
-->
{% include cli.md datafolder=page.datafolder datafile=page.datafile %}

View File

@ -1,15 +0,0 @@
---
datafolder: assemble
datafile: docker_assemble_build
title: docker assemble build
enterprise_only: true
skip_read_time: true
---
<!--
This page is automatically generated from Docker's source code. If you want to
suggest a change to the text that appears here, open a ticket in the documentation
repository:
https://github.com/docker/docker.github.io/issues/new
-->
{% include cli.md datafolder=page.datafolder datafile=page.datafile %}

View File

@ -1,15 +0,0 @@
---
datafolder: assemble
datafile: docker_assemble_version
title: docker assemble version
enterprise_only: true
skip_read_time: true
---
<!--
This page is automatically generated from Docker's source code. If you want to
suggest a change to the text that appears here, open a ticket in the documentation
repository:
https://github.com/docker/docker.github.io/issues/new
-->
{% include cli.md datafolder=page.datafolder datafile=page.datafile %}