mirror of https://github.com/docker/docs.git
87 lines
2.5 KiB
Markdown
87 lines
2.5 KiB
Markdown
---
|
|
title: Incompatibilities and breaking changes
|
|
description: Learn about the incompatibilities and breaking changes introduced by Universal Control Plane version {{ page.ucp_version }}
|
|
keywords: docker, ucp, upgrade, incompatibilities
|
|
redirect_from:
|
|
- /datacenter/ucp/2.1/guides/admin/upgrade/incompatibilities-and-breaking-changes/
|
|
---
|
|
|
|
This is the list of incompatibilities introduced by Universal Control Plane
|
|
{{ page.ucp_version }}.
|
|
|
|
## HTTP routing mesh
|
|
|
|
When using the HTTP routing mesh you need to apply specific labels to your
|
|
services to make them accessible using a hostname.
|
|
The syntax used for these labels has changed on 2.1.
|
|
|
|
If you were using this feature on UCP 2.0, after you upgrade you'll have to
|
|
update your services to use a new label syntax.
|
|
You can do this from the UCP web UI or from the CLI using the
|
|
`docker service update` command.
|
|
|
|
There are two changes to consider.
|
|
|
|
First, a route was previously in the format of `internal_port=external_route`
|
|
or just `external_route`. Now the format is a comma separated list of
|
|
`key=value` pairs.
|
|
|
|
Second, if you have multiple routes to the same service, these were previously
|
|
written as a comma separated list of the above. These are now separate labels,
|
|
one per route, prefixed with `com.docker.ucp.mesh.http`.
|
|
|
|
Below you can find examples on how to upgrade from the old syntax to the new
|
|
one.
|
|
|
|
### A single route with a single internal port
|
|
|
|
```none
|
|
Old syntax
|
|
http://example.com
|
|
|
|
New syntax
|
|
external_route=http://example.com
|
|
|
|
How to upgrade
|
|
docker service update \
|
|
--label-add com.docker.ucp.mesh.http=http://example.com \
|
|
<service-name>
|
|
```
|
|
|
|
### A single route with an explicit internal port
|
|
|
|
```none
|
|
Old syntax
|
|
8080=http://example.com
|
|
|
|
New syntax
|
|
external_route=http://example.com,internal_port=8080
|
|
|
|
How to upgrade
|
|
docker service update \
|
|
--label-add com.docker.ucp.mesh.http=external_route=http://example.com,internal_port=8080 \
|
|
<service-name>
|
|
```
|
|
|
|
### Two routes, each to a different internal port
|
|
|
|
```none
|
|
Old syntax
|
|
8080=http://foo.example.com,1234=http://bar.example.com
|
|
|
|
New syntax
|
|
external_route=http://foo.example.com,internal_port=8080
|
|
external_route=http://bar.example.com,internal_port=1234
|
|
|
|
How to upgrade
|
|
docker service update \
|
|
--label-remove com.docker.ucp.mesh.http \
|
|
--label-add com.docker.ucp.mesh.http.foo=external_route=http://foo.example.com,internal_port=8080 \
|
|
--label-add com.docker.ucp.mesh.http.bar=external_route=http://bar.example.com,internal_port=1234 \
|
|
<service-name>
|
|
```
|
|
|
|
<h2>Where to go next</h2>
|
|
|
|
* [Release notes](index.md)
|