Repository: beatlabs/patron
Pull request #344 (2021-02-10 14:05:53)

chore: update dockertest to v3.6.3
<!--
Thanks for taking precious time for making a PR.

Before creating a pull request, please make sure:
- Your PR solves one problem for which a issue exist and a solution has been discussed
- You have read the guide for contributing
  - See https://github.com/beatlabs/patron/blob/master/README.md#how-to-contribute
- You signed all your commits (otherwise we won't be able to merge the PR)
  - See https://github.com/beatlabs/patron/blob/master/SIGNYOURWORK.md
- You added unit tests for the new functionality
- You mention in the PR description which issue it is addressing, e.g. "Resolves #123"
-->

## Which problem is this PR solving?

Dockertest v3.3.5 ceased to work on MacOS https://github.com/ory/dockertest/issues/212

## Short description of the changes

Updated Dcokertest to the v3 package at version 3.6.3 to overcome the tool no longer working on darwin systems.

codecov[bot]: # [Codecov](https://codecov.io/gh/beatlabs/patron/pull/344?src=pr&el=h1) Report
> Merging [#344](https://codecov.io/gh/beatlabs/patron/pull/344?src=pr&el=desc) (7686865) into [master](https://codecov.io/gh/beatlabs/patron/commit/8d8e660fbac454a49bd8324f679694fe3dc56012?el=desc) (8d8e660) will **increase** coverage by `0.05%`.
> The diff coverage is `0.00%`.

[![Impacted file tree graph](https://codecov.io/gh/beatlabs/patron/pull/344/graphs/tree.svg?width=650&height=150&src=pr&token=sxY15rXW1X)](https://codecov.io/gh/beatlabs/patron/pull/344?src=pr&el=tree)

```diff
@@            Coverage Diff             @@
##           master     #344      +/-   ##
==========================================
+ Coverage   74.25%   74.30%   +0.05%     
==========================================
  Files          65       65              
  Lines        3678     3678              
==========================================
+ Hits         2731     2733       +2     
+ Misses        841      839       -2     
  Partials      106      106              
```


| [Impacted Files](https://codecov.io/gh/beatlabs/patron/pull/344?src=pr&el=tree) | Coverage Δ | |
|---|---|---|
| [component/http/middleware.go](https://codecov.io/gh/beatlabs/patron/pull/344/diff?src=pr&el=tree#diff-Y29tcG9uZW50L2h0dHAvbWlkZGxld2FyZS5nbw==) | `85.50% <0.00%> (ø)` | |
| [test/docker/docker.go](https://codecov.io/gh/beatlabs/patron/pull/344/diff?src=pr&el=tree#diff-dGVzdC9kb2NrZXIvZG9ja2VyLmdv) | `68.00% <ø> (ø)` | |
| [component/async/kafka/simple/duration\_client.go](https://codecov.io/gh/beatlabs/patron/pull/344/diff?src=pr&el=tree#diff-Y29tcG9uZW50L2FzeW5jL2thZmthL3NpbXBsZS9kdXJhdGlvbl9jbGllbnQuZ28=) | `96.36% <0.00%> (+3.63%)` | :arrow_up: |

------

[Continue to review full report at Codecov](https://codecov.io/gh/beatlabs/patron/pull/344?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/beatlabs/patron/pull/344?src=pr&el=footer). Last update [5520ca4...fc22134](https://codecov.io/gh/beatlabs/patron/pull/344?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).


Patch:
diff --git a/go.mod b/go.mod
index 493fa743f..b42475fc7 100644
--- a/go.mod
+++ b/go.mod
@@ -1,30 +1,21 @@
 module github.com/beatlabs/patron
 
 require (
-	github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78 // indirect
-	github.com/Microsoft/go-winio v0.4.14 // indirect
-	github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5 // indirect
 	github.com/Shopify/sarama v1.21.0
 	github.com/aws/aws-sdk-go v1.36.15
-	github.com/cenkalti/backoff v2.2.1+incompatible // indirect
 	github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd // indirect
 	github.com/containerd/continuity v0.0.0-20200228182428-0f16d7a0959c // indirect
-	github.com/docker/go-connections v0.4.0 // indirect
-	github.com/docker/go-units v0.4.0 // indirect
 	github.com/elastic/go-elasticsearch/v8 v8.0.0-20190731061900-ea052088db25
 	github.com/go-redis/redis/v7 v7.0.0-beta.5
 	github.com/go-sql-driver/mysql v1.5.0
 	github.com/golang/protobuf v1.3.2
 	github.com/google/uuid v1.1.4
-	github.com/gotestyourself/gotestyourself v2.2.0+incompatible // indirect
 	github.com/hashicorp/golang-lru v0.5.3
 	github.com/julienschmidt/httprouter v1.2.0
 	github.com/lib/pq v1.0.0 // indirect
-	github.com/opencontainers/image-spec v1.0.1 // indirect
-	github.com/opencontainers/runc v0.1.1 // indirect
 	github.com/opentracing-contrib/go-stdlib v0.0.0-20180313041242-367231351874
 	github.com/opentracing/opentracing-go v1.1.0
-	github.com/ory/dockertest v3.3.5+incompatible
+	github.com/ory/dockertest/v3 v3.6.3
 	github.com/prometheus/client_golang v1.5.1
 	github.com/rs/zerolog v1.5.0
 	github.com/streadway/amqp v0.0.0-20180315184602-8e4aba63da9f
@@ -33,7 +24,6 @@ require (
 	github.com/uber/jaeger-lib v2.2.0+incompatible
 	go.uber.org/atomic v1.6.0 // indirect
 	google.golang.org/grpc v1.27.1
-	gotest.tools v2.2.0+incompatible // indirect
 )
 
 go 1.13
diff --git a/go.sum b/go.sum
index c10fbb853..82a162b84 100644
--- a/go.sum
+++ b/go.sum
@@ -23,16 +23,19 @@ github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24
 github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8=
 github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
 github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
-github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4=
-github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM=
+github.com/cenkalti/backoff/v3 v3.0.0 h1:ske+9nBpD9qZsTBoF41nW5L+AIuFBKMeze18XQ3eG1c=
+github.com/cenkalti/backoff/v3 v3.0.0/go.mod h1:cIeZDE3IrqwwJl6VUwCN6trj1oXrTS4rc0ij+ULvLYs=
 github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
 github.com/cespare/xxhash/v2 v2.1.1 h1:6MnRN8NT7+YBpUIWxHtefFZOKTAPgGjpQSxqLNn0+qY=
 github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
 github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
 github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd h1:qMd81Ts1T2OTKmB4acZcyKaMtRnY5Y44NuXGX2GFJ1w=
 github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI=
+github.com/containerd/continuity v0.0.0-20190827140505-75bee3e2ccb6/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y=
 github.com/containerd/continuity v0.0.0-20200228182428-0f16d7a0959c h1:8ahmSVELW1wghbjerVAyuEYD5+Dio66RYvSS0iGfL1M=
 github.com/containerd/continuity v0.0.0-20200228182428-0f16d7a0959c/go.mod h1:Dq467ZllaHgAtVp4p1xUQWBrFXR9s/wyoTpG8zOJGkY=
+github.com/creack/pty v1.1.9 h1:uDmaGzcdjhF4i/plgjmEsriH11Y0o7RKapEf/LDaM3w=
+github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
 github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
 github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
 github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
@@ -73,14 +76,13 @@ github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5y
 github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db h1:woRePGFeVFfLKN/pOkfl+p/TAqKOfFu+7KPlMVpok/w=
 github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
 github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
+github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
 github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
 github.com/google/go-cmp v0.4.0 h1:xsAVV57WRhGj6kEIi8ReJzQlHHqcBYCElAvkovg3B/4=
 github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
 github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
 github.com/google/uuid v1.1.4 h1:0ecGp3skIrHWPNGPJDaBIghfA6Sp7Ruo2Io8eLKzWm0=
 github.com/google/uuid v1.1.4/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
-github.com/gotestyourself/gotestyourself v2.2.0+incompatible h1:AQwinXlbQR2HvPjQZOmDhRqsv5mZf+Jb1RnSLxcqZcI=
-github.com/gotestyourself/gotestyourself v2.2.0+incompatible/go.mod h1:zZKM6oeNM8k+FRljX1mnzVYeS8wiGgQyvST1/GafPbY=
 github.com/hashicorp/golang-lru v0.5.3 h1:YPkqC67at8FYaadspW/6uE0COsBxS2656RLEr8Bppgk=
 github.com/hashicorp/golang-lru v0.5.3/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4=
 github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI=
@@ -96,16 +98,21 @@ github.com/julienschmidt/httprouter v1.2.0 h1:TDTW5Yz1mjftljbcKqRcrYhd4XeOoI98t+
 github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
 github.com/konsorten/go-windows-terminal-sequences v1.0.1 h1:mweAR1A6xJ3oS2pRaGiHgQ4OO8tzTaLawm8vnODuwDk=
 github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
+github.com/konsorten/go-windows-terminal-sequences v1.0.2 h1:DB17ag19krx9CFsz4o3enTrPXyIXCl+2iCXH/aMAp9s=
+github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
 github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
 github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
 github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
 github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
 github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
 github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
+github.com/lib/pq v0.0.0-20180327071824-d34b9ff171c2/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
 github.com/lib/pq v1.0.0 h1:X5PMW56eZitiTeO7tKzZxFCSpbFZJtkMMooicw2us9A=
 github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
 github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU=
 github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
+github.com/moby/term v0.0.0-20200915141129-7f0af18e79f2 h1:SPoLlS9qUUnXcIY4pvA4CTwYjk0Is5f4UPEkeESr53k=
+github.com/moby/term v0.0.0-20200915141129-7f0af18e79f2/go.mod h1:TjQg8pa4iejrUrjiz0MCtMV38jdMNW4doKSiBrEvCQQ=
 github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
 github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
 github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
@@ -120,14 +127,14 @@ github.com/opencontainers/go-digest v1.0.0-rc1 h1:WzifXhOVOEOuFYOJAW6aQqW0TooG2i
 github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s=
 github.com/opencontainers/image-spec v1.0.1 h1:JMemWkRwHx4Zj+fVxWoMCFm/8sYGGrUVojFA6h/TRcI=
 github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0=
-github.com/opencontainers/runc v0.1.1 h1:GlxAyO6x8rfZYN9Tt0Kti5a/cP41iuiO2yYT0IJGY8Y=
-github.com/opencontainers/runc v0.1.1/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U=
+github.com/opencontainers/runc v1.0.0-rc9 h1:/k06BMULKF5hidyoZymkoDCzdJzltZpz/UU4LguQVtc=
+github.com/opencontainers/runc v1.0.0-rc9/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U=
 github.com/opentracing-contrib/go-stdlib v0.0.0-20180313041242-367231351874 h1:DtlPgOQ8cofwtTZHaYqLk6KWee3AfvYCi0pcZ1K8d58=
 github.com/opentracing-contrib/go-stdlib v0.0.0-20180313041242-367231351874/go.mod h1:PLldrQSroqzH70Xl+1DQcGnefIbqsKR7UDaiux3zV+w=
 github.com/opentracing/opentracing-go v1.1.0 h1:pWlfV3Bxv7k65HYwkikxat0+s3pV4bsqf19k25Ur8rU=
 github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
-github.com/ory/dockertest v3.3.5+incompatible h1:iLLK6SQwIhcbrG783Dghaaa3WPzGc+4Emza6EbVUUGA=
-github.com/ory/dockertest v3.3.5+incompatible/go.mod h1:1vX4m9wsvi00u5bseYwXaSnhNrne+V0E6LAcBILJdPs=
+github.com/ory/dockertest/v3 v3.6.3 h1:L8JWiGgR+fnj90AEOkTFIEp4j5uWAK72P3IUsYgn2cs=
+github.com/ory/dockertest/v3 v3.6.3/go.mod h1:EFLcVUOl8qCwp9NyDAcCDtq/QviLtYswW/VbWzUnTNE=
 github.com/pierrec/lz4 v2.0.5+incompatible h1:2xWsjqPFWcplujydGg4WmhC/6fZqK42wMM8aXeqhl0I=
 github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY=
 github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
@@ -165,6 +172,7 @@ github.com/sirupsen/logrus v1.4.2 h1:SPIRibHv4MatM3XXNO2BJeFLZwZ2LvZgfQ5+UNI2im4
 github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
 github.com/spf13/cobra v0.0.2-0.20171109065643-2da4a54c5cee/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ=
 github.com/spf13/pflag v1.0.1-0.20171106142849-4c012f6dcd95/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
+github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
 github.com/streadway/amqp v0.0.0-20180315184602-8e4aba63da9f h1:q//3aFQhyA8sBywUCO9DlDoFZFitzVhnght/YhKrQ6s=
 github.com/streadway/amqp v0.0.0-20180315184602-8e4aba63da9f/go.mod h1:1WNBiOZtZQLpVAyu0iTduoJL9hEsMloAK5XWrtW0xdY=
 github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
@@ -200,6 +208,7 @@ golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLL
 golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
 golang.org/x/net v0.0.0-20190923162816-aa69164e4478 h1:l5EDrHhldLYb3ZRHDUhXF7Om7MvYXnkV9/iQNo1lX6g=
 golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20191003171128-d98b1b443823/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
 golang.org/x/net v0.0.0-20201110031124-69a78807bb2b h1:uwuIcX0g4Yl1NC5XAz37xsr2lTtcqevgzYNVt49waME=
 golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
 golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
@@ -219,6 +228,7 @@ golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7w
 golang.org/x/sys v0.0.0-20191010194322-b09406accb47/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200122134326-e047566fdf82 h1:ywK/j/KkyTHcdyYSZNXGjMwgmDSfjglYZ3vStQ/gSCU=
 golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200831180312-196b9ba8737a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f h1:+Nyd8tzPX9R7BWHguqsrbFdRx3WQ/1ib8I44HXV5yTA=
 golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@@ -231,6 +241,7 @@ golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGm
 golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
 golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
 golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
+golang.org/x/tools v0.0.0-20190624222133-a101b041ded4/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
 golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c h1:IGkKhmfzcztjm6gYkykvu/NiS8kaqbCWAEWWAyf8J5U=
 golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
 golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
@@ -260,9 +271,10 @@ gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
 gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
 gopkg.in/yaml.v2 v2.2.5 h1:ymVxjfMaHvXD8RqPRmzHHsB3VvucivSkIAvJFDI5O3c=
 gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
+gopkg.in/yaml.v2 v2.2.7/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
 gopkg.in/yaml.v2 v2.2.8 h1:obN1ZagJSUGI0Ek/LBmuj4SNLPfIny3KsKFopxRdj10=
 gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
-gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo=
-gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw=
+gotest.tools/v3 v3.0.2 h1:kG1BFyqVHuQoVQiR1bWGnfz/fmHvvuiSPIV7rvl360E=
+gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk=
 honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
 honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
diff --git a/vendor/github.com/cenkalti/backoff/.gitignore b/vendor/github.com/cenkalti/backoff/v3/.gitignore
similarity index 100%
rename from vendor/github.com/cenkalti/backoff/.gitignore
rename to vendor/github.com/cenkalti/backoff/v3/.gitignore
diff --git a/vendor/github.com/cenkalti/backoff/.travis.yml b/vendor/github.com/cenkalti/backoff/v3/.travis.yml
similarity index 100%
rename from vendor/github.com/cenkalti/backoff/.travis.yml
rename to vendor/github.com/cenkalti/backoff/v3/.travis.yml
diff --git a/vendor/github.com/cenkalti/backoff/LICENSE b/vendor/github.com/cenkalti/backoff/v3/LICENSE
similarity index 100%
rename from vendor/github.com/cenkalti/backoff/LICENSE
rename to vendor/github.com/cenkalti/backoff/v3/LICENSE
diff --git a/vendor/github.com/cenkalti/backoff/README.md b/vendor/github.com/cenkalti/backoff/v3/README.md
similarity index 100%
rename from vendor/github.com/cenkalti/backoff/README.md
rename to vendor/github.com/cenkalti/backoff/v3/README.md
diff --git a/vendor/github.com/cenkalti/backoff/backoff.go b/vendor/github.com/cenkalti/backoff/v3/backoff.go
similarity index 100%
rename from vendor/github.com/cenkalti/backoff/backoff.go
rename to vendor/github.com/cenkalti/backoff/v3/backoff.go
diff --git a/vendor/github.com/cenkalti/backoff/context.go b/vendor/github.com/cenkalti/backoff/v3/context.go
similarity index 100%
rename from vendor/github.com/cenkalti/backoff/context.go
rename to vendor/github.com/cenkalti/backoff/v3/context.go
diff --git a/vendor/github.com/cenkalti/backoff/exponential.go b/vendor/github.com/cenkalti/backoff/v3/exponential.go
similarity index 100%
rename from vendor/github.com/cenkalti/backoff/exponential.go
rename to vendor/github.com/cenkalti/backoff/v3/exponential.go
diff --git a/vendor/github.com/cenkalti/backoff/v3/go.mod b/vendor/github.com/cenkalti/backoff/v3/go.mod
new file mode 100644
index 000000000..479e62ada
--- /dev/null
+++ b/vendor/github.com/cenkalti/backoff/v3/go.mod
@@ -0,0 +1,3 @@
+module github.com/cenkalti/backoff/v3
+
+go 1.12
diff --git a/vendor/github.com/cenkalti/backoff/retry.go b/vendor/github.com/cenkalti/backoff/v3/retry.go
similarity index 100%
rename from vendor/github.com/cenkalti/backoff/retry.go
rename to vendor/github.com/cenkalti/backoff/v3/retry.go
diff --git a/vendor/github.com/cenkalti/backoff/ticker.go b/vendor/github.com/cenkalti/backoff/v3/ticker.go
similarity index 100%
rename from vendor/github.com/cenkalti/backoff/ticker.go
rename to vendor/github.com/cenkalti/backoff/v3/ticker.go
diff --git a/vendor/github.com/cenkalti/backoff/tries.go b/vendor/github.com/cenkalti/backoff/v3/tries.go
similarity index 100%
rename from vendor/github.com/cenkalti/backoff/tries.go
rename to vendor/github.com/cenkalti/backoff/v3/tries.go
diff --git a/vendor/github.com/konsorten/go-windows-terminal-sequences/README.md b/vendor/github.com/konsorten/go-windows-terminal-sequences/README.md
index 949b77e30..195333e51 100644
--- a/vendor/github.com/konsorten/go-windows-terminal-sequences/README.md
+++ b/vendor/github.com/konsorten/go-windows-terminal-sequences/README.md
@@ -26,6 +26,7 @@ The tool is sponsored by the [marvin + konsorten GmbH](http://www.konsorten.de).
 We thank all the authors who provided code to this library:
 
 * Felix Kollmann
+* Nicolas Perraut
 
 ## License
 
diff --git a/vendor/github.com/konsorten/go-windows-terminal-sequences/sequences_dummy.go b/vendor/github.com/konsorten/go-windows-terminal-sequences/sequences_dummy.go
new file mode 100644
index 000000000..df61a6f2f
--- /dev/null
+++ b/vendor/github.com/konsorten/go-windows-terminal-sequences/sequences_dummy.go
@@ -0,0 +1,11 @@
+// +build linux darwin
+
+package sequences
+
+import (
+	"fmt"
+)
+
+func EnableVirtualTerminalProcessing(stream uintptr, enable bool) error {
+	return fmt.Errorf("windows only package")
+}
diff --git a/vendor/github.com/moby/term/.gitignore b/vendor/github.com/moby/term/.gitignore
new file mode 100644
index 000000000..b0747ff01
--- /dev/null
+++ b/vendor/github.com/moby/term/.gitignore
@@ -0,0 +1,8 @@
+# if you want to ignore files created by your editor/tools, consider using a
+# global .gitignore or .git/info/exclude see https://help.github.com/articles/ignoring-files
+.*
+!.github
+!.gitignore
+profile.out
+# support running go modules in vendor mode for local development
+vendor/
diff --git a/vendor/github.com/moby/term/LICENSE b/vendor/github.com/moby/term/LICENSE
new file mode 100644
index 000000000..6d8d58fb6
--- /dev/null
+++ b/vendor/github.com/moby/term/LICENSE
@@ -0,0 +1,191 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        https://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   Copyright 2013-2018 Docker, Inc.
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       https://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
diff --git a/vendor/github.com/moby/term/README.md b/vendor/github.com/moby/term/README.md
new file mode 100644
index 000000000..0ce92cc33
--- /dev/null
+++ b/vendor/github.com/moby/term/README.md
@@ -0,0 +1,36 @@
+# term - utilities for dealing with terminals
+
+![Test](https://github.com/moby/term/workflows/Test/badge.svg) [![GoDoc](https://godoc.org/github.com/moby/term?status.svg)](https://godoc.org/github.com/moby/term) [![Go Report Card](https://goreportcard.com/badge/github.com/moby/term)](https://goreportcard.com/report/github.com/moby/term)
+
+term provides structures and helper functions to work with terminal (state, sizes).
+
+#### Using term
+
+```go
+package main
+
+import (
+	"log"
+	"os"
+
+	"github.com/moby/term"
+)
+
+func main() {
+	fd := os.Stdin.Fd()
+	if term.IsTerminal(fd) {
+		ws, err := term.GetWinsize(fd)
+		if err != nil {
+			log.Fatalf("term.GetWinsize: %s", err)
+		}
+		log.Printf("%d:%d\n", ws.Height, ws.Width)
+	}
+}
+```
+
+## Contributing
+
+Want to hack on term? [Docker's contributions guidelines](https://github.com/docker/docker/blob/master/CONTRIBUTING.md) apply.
+
+## Copyright and license
+Code and documentation copyright 2015 Docker, inc. Code released under the Apache 2.0 license. Docs released under Creative commons.
diff --git a/vendor/github.com/moby/term/go.mod b/vendor/github.com/moby/term/go.mod
new file mode 100644
index 000000000..4088df8db
--- /dev/null
+++ b/vendor/github.com/moby/term/go.mod
@@ -0,0 +1,12 @@
+module github.com/moby/term
+
+go 1.13
+
+require (
+	github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78
+	github.com/creack/pty v1.1.9
+	github.com/google/go-cmp v0.4.0
+	github.com/pkg/errors v0.9.1 // indirect
+	golang.org/x/sys v0.0.0-20200831180312-196b9ba8737a
+	gotest.tools/v3 v3.0.2
+)
diff --git a/vendor/github.com/moby/term/go.sum b/vendor/github.com/moby/term/go.sum
new file mode 100644
index 000000000..64d7ef7fa
--- /dev/null
+++ b/vendor/github.com/moby/term/go.sum
@@ -0,0 +1,23 @@
+github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78 h1:w+iIsaOQNcT7OZ575w+acHgRric5iCyQh+xv+KJ4HB8=
+github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8=
+github.com/creack/pty v1.1.9 h1:uDmaGzcdjhF4i/plgjmEsriH11Y0o7RKapEf/LDaM3w=
+github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
+github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
+github.com/google/go-cmp v0.4.0 h1:xsAVV57WRhGj6kEIi8ReJzQlHHqcBYCElAvkovg3B/4=
+github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
+github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
+github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
+github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
+github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
+golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
+golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
+golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sys v0.0.0-20200831180312-196b9ba8737a h1:i47hUS795cOydZI4AwJQCKXOr4BvxzvikwDoDtHhP2Y=
+golang.org/x/sys v0.0.0-20200831180312-196b9ba8737a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
+golang.org/x/tools v0.0.0-20190624222133-a101b041ded4/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
+golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4=
+golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
+gotest.tools/v3 v3.0.2 h1:kG1BFyqVHuQoVQiR1bWGnfz/fmHvvuiSPIV7rvl360E=
+gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk=
diff --git a/vendor/github.com/moby/term/proxy.go b/vendor/github.com/moby/term/proxy.go
new file mode 100644
index 000000000..c47756b89
--- /dev/null
+++ b/vendor/github.com/moby/term/proxy.go
@@ -0,0 +1,88 @@
+package term
+
+import (
+	"io"
+)
+
+// EscapeError is special error which returned by a TTY proxy reader's Read()
+// method in case its detach escape sequence is read.
+type EscapeError struct{}
+
+func (EscapeError) Error() string {
+	return "read escape sequence"
+}
+
+// escapeProxy is used only for attaches with a TTY. It is used to proxy
+// stdin keypresses from the underlying reader and look for the passed in
+// escape key sequence to signal a detach.
+type escapeProxy struct {
+	escapeKeys   []byte
+	escapeKeyPos int
+	r            io.Reader
+	buf          []byte
+}
+
+// NewEscapeProxy returns a new TTY proxy reader which wraps the given reader
+// and detects when the specified escape keys are read, in which case the Read
+// method will return an error of type EscapeError.
+func NewEscapeProxy(r io.Reader, escapeKeys []byte) io.Reader {
+	return &escapeProxy{
+		escapeKeys: escapeKeys,
+		r:          r,
+	}
+}
+
+func (r *escapeProxy) Read(buf []byte) (n int, err error) {
+	if len(r.escapeKeys) > 0 && r.escapeKeyPos == len(r.escapeKeys) {
+		return 0, EscapeError{}
+	}
+
+	if len(r.buf) > 0 {
+		n = copy(buf, r.buf)
+		r.buf = r.buf[n:]
+	}
+
+	nr, err := r.r.Read(buf[n:])
+	n += nr
+	if len(r.escapeKeys) == 0 {
+		return n, err
+	}
+
+	for i := 0; i < n; i++ {
+		if buf[i] == r.escapeKeys[r.escapeKeyPos] {
+			r.escapeKeyPos++
+
+			// Check if the full escape sequence is matched.
+			if r.escapeKeyPos == len(r.escapeKeys) {
+				n = i + 1 - r.escapeKeyPos
+				if n < 0 {
+					n = 0
+				}
+				return n, EscapeError{}
+			}
+			continue
+		}
+
+		// If we need to prepend a partial escape sequence from the previous
+		// read, make sure the new buffer size doesn't exceed len(buf).
+		// Otherwise, preserve any extra data in a buffer for the next read.
+		if i < r.escapeKeyPos {
+			preserve := make([]byte, 0, r.escapeKeyPos+n)
+			preserve = append(preserve, r.escapeKeys[:r.escapeKeyPos]...)
+			preserve = append(preserve, buf[:n]...)
+			n = copy(buf, preserve)
+			i += r.escapeKeyPos
+			r.buf = append(r.buf, preserve[n:]...)
+		}
+		r.escapeKeyPos = 0
+	}
+
+	// If we're in the middle of reading an escape sequence, make sure we don't
+	// let the caller read it. If later on we find that this is not the escape
+	// sequence, we'll prepend it back to buf.
+	n -= r.escapeKeyPos
+	if n < 0 {
+		n = 0
+	}
+	return n, err
+}
diff --git a/vendor/github.com/moby/term/tc.go b/vendor/github.com/moby/term/tc.go
new file mode 100644
index 000000000..65556027a
--- /dev/null
+++ b/vendor/github.com/moby/term/tc.go
@@ -0,0 +1,19 @@
+// +build !windows
+
+package term
+
+import (
+	"golang.org/x/sys/unix"
+)
+
+func tcget(fd uintptr) (*Termios, error) {
+	p, err := unix.IoctlGetTermios(int(fd), getTermios)
+	if err != nil {
+		return nil, err
+	}
+	return p, nil
+}
+
+func tcset(fd uintptr, p *Termios) error {
+	return unix.IoctlSetTermios(int(fd), setTermios, p)
+}
diff --git a/vendor/github.com/moby/term/termios_bsd.go b/vendor/github.com/moby/term/termios_bsd.go
new file mode 100644
index 000000000..922dd4baa
--- /dev/null
+++ b/vendor/github.com/moby/term/termios_bsd.go
@@ -0,0 +1,12 @@
+// +build darwin freebsd openbsd netbsd
+
+package term
+
+import (
+	"golang.org/x/sys/unix"
+)
+
+const (
+	getTermios = unix.TIOCGETA
+	setTermios = unix.TIOCSETA
+)
diff --git a/vendor/github.com/moby/term/termios_nonbsd.go b/vendor/github.com/moby/term/termios_nonbsd.go
new file mode 100644
index 000000000..038fd61ba
--- /dev/null
+++ b/vendor/github.com/moby/term/termios_nonbsd.go
@@ -0,0 +1,12 @@
+//+build !darwin,!freebsd,!netbsd,!openbsd,!windows
+
+package term
+
+import (
+	"golang.org/x/sys/unix"
+)
+
+const (
+	getTermios = unix.TCGETS
+	setTermios = unix.TCSETS
+)
diff --git a/vendor/github.com/moby/term/windows/doc.go b/vendor/github.com/moby/term/windows/doc.go
new file mode 100644
index 000000000..54265fffa
--- /dev/null
+++ b/vendor/github.com/moby/term/windows/doc.go
@@ -0,0 +1,5 @@
+// These files implement ANSI-aware input and output streams for use by the Docker Windows client.
+// When asked for the set of standard streams (e.g., stdin, stdout, stderr), the code will create
+// and return pseudo-streams that convert ANSI sequences to / from Windows Console API calls.
+
+package windowsconsole
diff --git a/vendor/github.com/opencontainers/runc/libcontainer/user/lookup.go b/vendor/github.com/opencontainers/runc/libcontainer/user/lookup.go
index ab1439f36..6fd8dd0d4 100644
--- a/vendor/github.com/opencontainers/runc/libcontainer/user/lookup.go
+++ b/vendor/github.com/opencontainers/runc/libcontainer/user/lookup.go
@@ -2,7 +2,6 @@ package user
 
 import (
 	"errors"
-	"syscall"
 )
 
 var (
@@ -13,98 +12,30 @@ var (
 	ErrNoGroupEntries  = errors.New("no matching entries in group file")
 )
 
-func lookupUser(filter func(u User) bool) (User, error) {
-	// Get operating system-specific passwd reader-closer.
-	passwd, err := GetPasswd()
-	if err != nil {
-		return User{}, err
-	}
-	defer passwd.Close()
-
-	// Get the users.
-	users, err := ParsePasswdFilter(passwd, filter)
-	if err != nil {
-		return User{}, err
-	}
-
-	// No user entries found.
-	if len(users) == 0 {
-		return User{}, ErrNoPasswdEntries
-	}
-
-	// Assume the first entry is the "correct" one.
-	return users[0], nil
-}
-
-// CurrentUser looks up the current user by their user id in /etc/passwd. If the
-// user cannot be found (or there is no /etc/passwd file on the filesystem),
-// then CurrentUser returns an error.
-func CurrentUser() (User, error) {
-	return LookupUid(syscall.Getuid())
-}
-
 // LookupUser looks up a user by their username in /etc/passwd. If the user
 // cannot be found (or there is no /etc/passwd file on the filesystem), then
 // LookupUser returns an error.
 func LookupUser(username string) (User, error) {
-	return lookupUser(func(u User) bool {
-		return u.Name == username
-	})
+	return lookupUser(username)
 }
 
 // LookupUid looks up a user by their user id in /etc/passwd. If the user cannot
 // be found (or there is no /etc/passwd file on the filesystem), then LookupId
 // returns an error.
 func LookupUid(uid int) (User, error) {
-	return lookupUser(func(u User) bool {
-		return u.Uid == uid
-	})
-}
-
-func lookupGroup(filter func(g Group) bool) (Group, error) {
-	// Get operating system-specific group reader-closer.
-	group, err := GetGroup()
-	if err != nil {
-		return Group{}, err
-	}
-	defer group.Close()
-
-	// Get the users.
-	groups, err := ParseGroupFilter(group, filter)
-	if err != nil {
-		return Group{}, err
-	}
-
-	// No user entries found.
-	if len(groups) == 0 {
-		return Group{}, ErrNoGroupEntries
-	}
-
-	// Assume the first entry is the "correct" one.
-	return groups[0], nil
-}
-
-// CurrentGroup looks up the current user's group by their primary group id's
-// entry in /etc/passwd. If the group cannot be found (or there is no
-// /etc/group file on the filesystem), then CurrentGroup returns an error.
-func CurrentGroup() (Group, error) {
-	return LookupGid(syscall.Getgid())
+	return lookupUid(uid)
 }
 
 // LookupGroup looks up a group by its name in /etc/group. If the group cannot
 // be found (or there is no /etc/group file on the filesystem), then LookupGroup
 // returns an error.
 func LookupGroup(groupname string) (Group, error) {
-	return lookupGroup(func(g Group) bool {
-		return g.Name == groupname
-	})
+	return lookupGroup(groupname)
 }
 
 // LookupGid looks up a group by its group id in /etc/group. If the group cannot
 // be found (or there is no /etc/group file on the filesystem), then LookupGid
 // returns an error.
 func LookupGid(gid int) (Group, error) {
-	return lookupGroup(func(g Group) bool {
-		return g.Gid == gid
-	})
+	return lookupGid(gid)
 }
diff --git a/vendor/github.com/opencontainers/runc/libcontainer/user/lookup_unix.go b/vendor/github.com/opencontainers/runc/libcontainer/user/lookup_unix.go
index 758b734c2..92b5ae8de 100644
--- a/vendor/github.com/opencontainers/runc/libcontainer/user/lookup_unix.go
+++ b/vendor/github.com/opencontainers/runc/libcontainer/user/lookup_unix.go
@@ -5,6 +5,9 @@ package user
 import (
 	"io"
 	"os"
+	"strconv"
+
+	"golang.org/x/sys/unix"
 )
 
 // Unix-specific path to the passwd and group formatted files.
@@ -13,6 +16,76 @@ const (
 	unixGroupPath  = "/etc/group"
 )
 
+func lookupUser(username string) (User, error) {
+	return lookupUserFunc(func(u User) bool {
+		return u.Name == username
+	})
+}
+
+func lookupUid(uid int) (User, error) {
+	return lookupUserFunc(func(u User) bool {
+		return u.Uid == uid
+	})
+}
+
+func lookupUserFunc(filter func(u User) bool) (User, error) {
+	// Get operating system-specific passwd reader-closer.
+	passwd, err := GetPasswd()
+	if err != nil {
+		return User{}, err
+	}
+	defer passwd.Close()
+
+	// Get the users.
+	users, err := ParsePasswdFilter(passwd, filter)
+	if err != nil {
+		return User{}, err
+	}
+
+	// No user entries found.
+	if len(users) == 0 {
+		return User{}, ErrNoPasswdEntries
+	}
+
+	// Assume the first entry is the "correct" one.
+	return users[0], nil
+}
+
+func lookupGroup(groupname string) (Group, error) {
+	return lookupGroupFunc(func(g Group) bool {
+		return g.Name == groupname
+	})
+}
+
+func lookupGid(gid int) (Group, error) {
+	return lookupGroupFunc(func(g Group) bool {
+		return g.Gid == gid
+	})
+}
+
+func lookupGroupFunc(filter func(g Group) bool) (Group, error) {
+	// Get operating system-specific group reader-closer.
+	group, err := GetGroup()
+	if err != nil {
+		return Group{}, err
+	}
+	defer group.Close()
+
+	// Get the users.
+	groups, err := ParseGroupFilter(group, filter)
+	if err != nil {
+		return Group{}, err
+	}
+
+	// No user entries found.
+	if len(groups) == 0 {
+		return Group{}, ErrNoGroupEntries
+	}
+
+	// Assume the first entry is the "correct" one.
+	return groups[0], nil
+}
+
 func GetPasswdPath() (string, error) {
 	return unixPasswdPath, nil
 }
@@ -28,3 +101,44 @@ func GetGroupPath() (string, error) {
 func GetGroup() (io.ReadCloser, error) {
 	return os.Open(unixGroupPath)
 }
+
+// CurrentUser looks up the current user by their user id in /etc/passwd. If the
+// user cannot be found (or there is no /etc/passwd file on the filesystem),
+// then CurrentUser returns an error.
+func CurrentUser() (User, error) {
+	return LookupUid(unix.Getuid())
+}
+
+// CurrentGroup looks up the current user's group by their primary group id's
+// entry in /etc/passwd. If the group cannot be found (or there is no
+// /etc/group file on the filesystem), then CurrentGroup returns an error.
+func CurrentGroup() (Group, error) {
+	return LookupGid(unix.Getgid())
+}
+
+func currentUserSubIDs(fileName string) ([]SubID, error) {
+	u, err := CurrentUser()
+	if err != nil {
+		return nil, err
+	}
+	filter := func(entry SubID) bool {
+		return entry.Name == u.Name || entry.Name == strconv.Itoa(u.Uid)
+	}
+	return ParseSubIDFileFilter(fileName, filter)
+}
+
+func CurrentUserSubUIDs() ([]SubID, error) {
+	return currentUserSubIDs("/etc/subuid")
+}
+
+func CurrentUserSubGIDs() ([]SubID, error) {
+	return currentUserSubIDs("/etc/subgid")
+}
+
+func CurrentProcessUIDMap() ([]IDMap, error) {
+	return ParseIDMapFile("/proc/self/uid_map")
+}
+
+func CurrentProcessGIDMap() ([]IDMap, error) {
+	return ParseIDMapFile("/proc/self/gid_map")
+}
diff --git a/vendor/github.com/opencontainers/runc/libcontainer/user/lookup_unsupported.go b/vendor/github.com/opencontainers/runc/libcontainer/user/lookup_unsupported.go
deleted file mode 100644
index 721794887..000000000
--- a/vendor/github.com/opencontainers/runc/libcontainer/user/lookup_unsupported.go
+++ /dev/null
@@ -1,21 +0,0 @@
-// +build !darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris
-
-package user
-
-import "io"
-
-func GetPasswdPath() (string, error) {
-	return "", ErrUnsupported
-}
-
-func GetPasswd() (io.ReadCloser, error) {
-	return nil, ErrUnsupported
-}
-
-func GetGroupPath() (string, error) {
-	return "", ErrUnsupported
-}
-
-func GetGroup() (io.ReadCloser, error) {
-	return nil, ErrUnsupported
-}
diff --git a/vendor/github.com/opencontainers/runc/libcontainer/user/lookup_windows.go b/vendor/github.com/opencontainers/runc/libcontainer/user/lookup_windows.go
new file mode 100644
index 000000000..65cd40e92
--- /dev/null
+++ b/vendor/github.com/opencontainers/runc/libcontainer/user/lookup_windows.go
@@ -0,0 +1,40 @@
+// +build windows
+
+package user
+
+import (
+	"fmt"
+	"os/user"
+)
+
+func lookupUser(username string) (User, error) {
+	u, err := user.Lookup(username)
+	if err != nil {
+		return User{}, err
+	}
+	return userFromOS(u)
+}
+
+func lookupUid(uid int) (User, error) {
+	u, err := user.LookupId(fmt.Sprintf("%d", uid))
+	if err != nil {
+		return User{}, err
+	}
+	return userFromOS(u)
+}
+
+func lookupGroup(groupname string) (Group, error) {
+	g, err := user.LookupGroup(groupname)
+	if err != nil {
+		return Group{}, err
+	}
+	return groupFromOS(g)
+}
+
+func lookupGid(gid int) (Group, error) {
+	g, err := user.LookupGroupId(fmt.Sprintf("%d", gid))
+	if err != nil {
+		return Group{}, err
+	}
+	return groupFromOS(g)
+}
diff --git a/vendor/github.com/opencontainers/runc/libcontainer/user/user.go b/vendor/github.com/opencontainers/runc/libcontainer/user/user.go
index 43fd39ef5..7b912bbf8 100644
--- a/vendor/github.com/opencontainers/runc/libcontainer/user/user.go
+++ b/vendor/github.com/opencontainers/runc/libcontainer/user/user.go
@@ -5,6 +5,7 @@ import (
 	"fmt"
 	"io"
 	"os"
+	"os/user"
 	"strconv"
 	"strings"
 )
@@ -28,6 +29,28 @@ type User struct {
 	Shell string
 }
 
+// userFromOS converts an os/user.(*User) to local User
+//
+// (This does not include Pass, Shell or Gecos)
+func userFromOS(u *user.User) (User, error) {
+	newUser := User{
+		Name: u.Username,
+		Home: u.HomeDir,
+	}
+	id, err := strconv.Atoi(u.Uid)
+	if err != nil {
+		return newUser, err
+	}
+	newUser.Uid = id
+
+	id, err = strconv.Atoi(u.Gid)
+	if err != nil {
+		return newUser, err
+	}
+	newUser.Gid = id
+	return newUser, nil
+}
+
 type Group struct {
 	Name string
 	Pass string
@@ -35,12 +58,46 @@ type Group struct {
 	List []string
 }
 
+// groupFromOS converts an os/user.(*Group) to local Group
+//
+// (This does not include Pass, Shell or Gecos)
+func groupFromOS(g *user.Group) (Group, error) {
+	newGroup := Group{
+		Name: g.Name,
+	}
+
+	id, err := strconv.Atoi(g.Gid)
+	if err != nil {
+		return newGroup, err
+	}
+	newGroup.Gid = id
+
+	return newGroup, nil
+}
+
+// SubID represents an entry in /etc/sub{u,g}id
+type SubID struct {
+	Name  string
+	SubID int64
+	Count int64
+}
+
+// IDMap represents an entry in /proc/PID/{u,g}id_map
+type IDMap struct {
+	ID       int64
+	ParentID int64
+	Count    int64
+}
+
 func parseLine(line string, v ...interface{}) {
-	if line == "" {
+	parseParts(strings.Split(line, ":"), v...)
+}
+
+func parseParts(parts []string, v ...interface{}) {
+	if len(parts) == 0 {
 		return
 	}
 
-	parts := strings.Split(line, ":")
 	for i, p := range parts {
 		// Ignore cases where we don't have enough fields to populate the arguments.
 		// Some configuration files like to misbehave.
@@ -56,6 +113,8 @@ func parseLine(line string, v ...interface{}) {
 		case *int:
 			// "numbers", with conversion errors ignored because of some misbehaving configuration files.
 			*e, _ = strconv.Atoi(p)
+		case *int64:
+			*e, _ = strconv.ParseInt(p, 10, 64)
 		case *[]string:
 			// Comma-separated lists.
 			if p != "" {
@@ -65,7 +124,7 @@ func parseLine(line string, v ...interface{}) {
 			}
 		default:
 			// Someone goof'd when writing code using this function. Scream so they can hear us.
-			panic(fmt.Sprintf("parseLine only accepts {*string, *int, *[]string} as arguments! %#v is not a pointer!", e))
+			panic(fmt.Sprintf("parseLine only accepts {*string, *int, *int64, *[]string} as arguments! %#v is not a pointer!", e))
 		}
 	}
 }
@@ -199,18 +258,16 @@ type ExecUser struct {
 // files cannot be opened for any reason, the error is ignored and a nil
 // io.Reader is passed instead.
 func GetExecUserPath(userSpec string, defaults *ExecUser, passwdPath, groupPath string) (*ExecUser, error) {
-	passwd, err := os.Open(passwdPath)
-	if err != nil {
-		passwd = nil
-	} else {
-		defer passwd.Close()
+	var passwd, group io.Reader
+
+	if passwdFile, err := os.Open(passwdPath); err == nil {
+		passwd = passwdFile
+		defer passwdFile.Close()
 	}
 
-	group, err := os.Open(groupPath)
-	if err != nil {
-		group = nil
-	} else {
-		defer group.Close()
+	if groupFile, err := os.Open(groupPath); err == nil {
+		group = groupFile
+		defer groupFile.Close()
 	}
 
 	return GetExecUser(userSpec, defaults, passwd, group)
@@ -343,7 +400,7 @@ func GetExecUser(userSpec string, defaults *ExecUser, passwd, group io.Reader) (
 			if len(groups) > 0 {
 				// First match wins, even if there's more than one matching entry.
 				user.Gid = groups[0].Gid
-			} else if groupArg != "" {
+			} else {
 				// If we can't find a group with the given name, the only other valid
 				// option is if it's a numeric group name with no associated entry in group.
 
@@ -433,9 +490,119 @@ func GetAdditionalGroups(additionalGroups []string, group io.Reader) ([]int, err
 // that opens the groupPath given and gives it as an argument to
 // GetAdditionalGroups.
 func GetAdditionalGroupsPath(additionalGroups []string, groupPath string) ([]int, error) {
-	group, err := os.Open(groupPath)
-	if err == nil {
-		defer group.Close()
+	var group io.Reader
+
+	if groupFile, err := os.Open(groupPath); err == nil {
+		group = groupFile
+		defer groupFile.Close()
 	}
 	return GetAdditionalGroups(additionalGroups, group)
 }
+
+func ParseSubIDFile(path string) ([]SubID, error) {
+	subid, err := os.Open(path)
+	if err != nil {
+		return nil, err
+	}
+	defer subid.Close()
+	return ParseSubID(subid)
+}
+
+func ParseSubID(subid io.Reader) ([]SubID, error) {
+	return ParseSubIDFilter(subid, nil)
+}
+
+func ParseSubIDFileFilter(path string, filter func(SubID) bool) ([]SubID, error) {
+	subid, err := os.Open(path)
+	if err != nil {
+		return nil, err
+	}
+	defer subid.Close()
+	return ParseSubIDFilter(subid, filter)
+}
+
+func ParseSubIDFilter(r io.Reader, filter func(SubID) bool) ([]SubID, error) {
+	if r == nil {
+		return nil, fmt.Errorf("nil source for subid-formatted data")
+	}
+
+	var (
+		s   = bufio.NewScanner(r)
+		out = []SubID{}
+	)
+
+	for s.Scan() {
+		if err := s.Err(); err != nil {
+			return nil, err
+		}
+
+		line := strings.TrimSpace(s.Text())
+		if line == "" {
+			continue
+		}
+
+		// see: man 5 subuid
+		p := SubID{}
+		parseLine(line, &p.Name, &p.SubID, &p.Count)
+
+		if filter == nil || filter(p) {
+			out = append(out, p)
+		}
+	}
+
+	return out, nil
+}
+
+func ParseIDMapFile(path string) ([]IDMap, error) {
+	r, err := os.Open(path)
+	if err != nil {
+		return nil, err
+	}
+	defer r.Close()
+	return ParseIDMap(r)
+}
+
+func ParseIDMap(r io.Reader) ([]IDMap, error) {
+	return ParseIDMapFilter(r, nil)
+}
+
+func ParseIDMapFileFilter(path string, filter func(IDMap) bool) ([]IDMap, error) {
+	r, err := os.Open(path)
+	if err != nil {
+		return nil, err
+	}
+	defer r.Close()
+	return ParseIDMapFilter(r, filter)
+}
+
+func ParseIDMapFilter(r io.Reader, filter func(IDMap) bool) ([]IDMap, error) {
+	if r == nil {
+		return nil, fmt.Errorf("nil source for idmap-formatted data")
+	}
+
+	var (
+		s   = bufio.NewScanner(r)
+		out = []IDMap{}
+	)
+
+	for s.Scan() {
+		if err := s.Err(); err != nil {
+			return nil, err
+		}
+
+		line := strings.TrimSpace(s.Text())
+		if line == "" {
+			continue
+		}
+
+		// see: man 7 user_namespaces
+		p := IDMap{}
+		parseParts(strings.Fields(line), &p.ID, &p.ParentID, &p.Count)
+
+		if filter == nil || filter(p) {
+			out = append(out, p)
+		}
+	}
+
+	return out, nil
+}
diff --git a/vendor/modules.txt b/vendor/modules.txt
index 33dbad9a3..3a1c478cf 100644
--- a/vendor/modules.txt
+++ b/vendor/modules.txt
@@ -52,8 +52,8 @@ github.com/aws/aws-sdk-go/service/sts
 github.com/aws/aws-sdk-go/service/sts/stsiface
 # github.com/beorn7/perks v1.0.1
 github.com/beorn7/perks/quantile
-# github.com/cenkalti/backoff v2.2.1+incompatible
-github.com/cenkalti/backoff
+# github.com/cenkalti/backoff/v3 v3.0.0
+github.com/cenkalti/backoff/v3
 # github.com/cespare/xxhash/v2 v2.1.1
 github.com/cespare/xxhash/v2
 # github.com/containerd/continuity v0.0.0-20200228182428-0f16d7a0959c
@@ -102,16 +102,19 @@ github.com/hashicorp/golang-lru/simplelru
 github.com/jmespath/go-jmespath
 # github.com/julienschmidt/httprouter v1.2.0
 github.com/julienschmidt/httprouter
-# github.com/konsorten/go-windows-terminal-sequences v1.0.1
+# github.com/konsorten/go-windows-terminal-sequences v1.0.2
 github.com/konsorten/go-windows-terminal-sequences
 # github.com/matttproud/golang_protobuf_extensions v1.0.1
 github.com/matttproud/golang_protobuf_extensions/pbutil
+# github.com/moby/term v0.0.0-20200915141129-7f0af18e79f2
+github.com/moby/term
+github.com/moby/term/windows
 # github.com/opencontainers/go-digest v1.0.0-rc1
 github.com/opencontainers/go-digest
 # github.com/opencontainers/image-spec v1.0.1
 github.com/opencontainers/image-spec/specs-go
 github.com/opencontainers/image-spec/specs-go/v1
-# github.com/opencontainers/runc v0.1.1
+# github.com/opencontainers/runc v1.0.0-rc9
 github.com/opencontainers/runc/libcontainer/user
 # github.com/opentracing-contrib/go-stdlib v0.0.0-20180313041242-367231351874
 github.com/opentracing-contrib/go-stdlib/nethttp
@@ -120,32 +123,30 @@ github.com/opentracing/opentracing-go
 github.com/opentracing/opentracing-go/ext
 github.com/opentracing/opentracing-go/log
 github.com/opentracing/opentracing-go/mocktracer
-# github.com/ory/dockertest v3.3.5+incompatible
-github.com/ory/dockertest
-github.com/ory/dockertest/docker
-github.com/ory/dockertest/docker/opts
-github.com/ory/dockertest/docker/pkg/archive
-github.com/ory/dockertest/docker/pkg/fileutils
-github.com/ory/dockertest/docker/pkg/homedir
-github.com/ory/dockertest/docker/pkg/idtools
-github.com/ory/dockertest/docker/pkg/ioutils
-github.com/ory/dockertest/docker/pkg/jsonmessage
-github.com/ory/dockertest/docker/pkg/longpath
-github.com/ory/dockertest/docker/pkg/mount
-github.com/ory/dockertest/docker/pkg/pools
-github.com/ory/dockertest/docker/pkg/stdcopy
-github.com/ory/dockertest/docker/pkg/system
-github.com/ory/dockertest/docker/pkg/term
-github.com/ory/dockertest/docker/pkg/term/windows
-github.com/ory/dockertest/docker/types
-github.com/ory/dockertest/docker/types/blkiodev
-github.com/ory/dockertest/docker/types/container
-github.com/ory/dockertest/docker/types/filters
-github.com/ory/dockertest/docker/types/mount
-github.com/ory/dockertest/docker/types/network
-github.com/ory/dockertest/docker/types/registry
-github.com/ory/dockertest/docker/types/strslice
-github.com/ory/dockertest/docker/types/versions
+# github.com/ory/dockertest/v3 v3.6.3
+github.com/ory/dockertest/v3
+github.com/ory/dockertest/v3/docker
+github.com/ory/dockertest/v3/docker/opts
+github.com/ory/dockertest/v3/docker/pkg/archive
+github.com/ory/dockertest/v3/docker/pkg/fileutils
+github.com/ory/dockertest/v3/docker/pkg/homedir
+github.com/ory/dockertest/v3/docker/pkg/idtools
+github.com/ory/dockertest/v3/docker/pkg/ioutils
+github.com/ory/dockertest/v3/docker/pkg/jsonmessage
+github.com/ory/dockertest/v3/docker/pkg/longpath
+github.com/ory/dockertest/v3/docker/pkg/mount
+github.com/ory/dockertest/v3/docker/pkg/pools
+github.com/ory/dockertest/v3/docker/pkg/stdcopy
+github.com/ory/dockertest/v3/docker/pkg/system
+github.com/ory/dockertest/v3/docker/types
+github.com/ory/dockertest/v3/docker/types/blkiodev
+github.com/ory/dockertest/v3/docker/types/container
+github.com/ory/dockertest/v3/docker/types/filters
+github.com/ory/dockertest/v3/docker/types/mount
+github.com/ory/dockertest/v3/docker/types/network
+github.com/ory/dockertest/v3/docker/types/registry
+github.com/ory/dockertest/v3/docker/types/strslice
+github.com/ory/dockertest/v3/docker/types/versions
 # github.com/pierrec/lz4 v2.0.5+incompatible
 github.com/pierrec/lz4
 github.com/pierrec/lz4/internal/xxh32


Test patch:
diff --git a/test/docker/aws/aws_test.go b/test/docker/aws/aws_test.go
index be82b439e..e2a39dc2f 100644
--- a/test/docker/aws/aws_test.go
+++ b/test/docker/aws/aws_test.go
@@ -16,7 +16,7 @@ import (
 	"github.com/aws/aws-sdk-go/service/sqs"
 	"github.com/aws/aws-sdk-go/service/sqs/sqsiface"
 	patronDocker "github.com/beatlabs/patron/test/docker"
-	"github.com/ory/dockertest"
+	"github.com/ory/dockertest/v3"
 )
 
 const (
diff --git a/test/docker/docker.go b/test/docker/docker.go
index 98efe5955..2b544e965 100644
--- a/test/docker/docker.go
+++ b/test/docker/docker.go
@@ -5,9 +5,8 @@ import (
 	"errors"
 	"time"
 
-	"github.com/ory/dockertest/docker"
-
-	"github.com/ory/dockertest"
+	"github.com/ory/dockertest/v3"
+	"github.com/ory/dockertest/v3/docker"
 )
 
 // Runtime wraps dockertest functionality into a reusable component.
diff --git a/test/docker/integration_test.go b/test/docker/integration_test.go
index c7cf79d16..17247ff3f 100644
--- a/test/docker/integration_test.go
+++ b/test/docker/integration_test.go
@@ -6,7 +6,7 @@ import (
 	"testing"
 	"time"
 
-	"github.com/ory/dockertest"
+	"github.com/ory/dockertest/v3"
 	"github.com/stretchr/testify/assert"
 	"github.com/stretchr/testify/require"
 )
diff --git a/test/docker/kafka/kafka_test.go b/test/docker/kafka/kafka_test.go
index 9f1d25e11..6755cad3c 100644
--- a/test/docker/kafka/kafka_test.go
+++ b/test/docker/kafka/kafka_test.go
@@ -15,8 +15,8 @@ import (
 	"github.com/Shopify/sarama"
 	"github.com/beatlabs/patron/log"
 	patrondocker "github.com/beatlabs/patron/test/docker"
-	"github.com/ory/dockertest"
-	"github.com/ory/dockertest/docker"
+	"github.com/ory/dockertest/v3"
+	"github.com/ory/dockertest/v3/docker"
 )
 
 const (
diff --git a/test/docker/sql/sql_test.go b/test/docker/sql/sql_test.go
index acd408230..ae0a241c8 100644
--- a/test/docker/sql/sql_test.go
+++ b/test/docker/sql/sql_test.go
@@ -7,12 +7,12 @@ import (
 	"fmt"
 	"time"
 
-	"github.com/ory/dockertest/docker"
+	"github.com/ory/dockertest/v3/docker"
 
 	patronDocker "github.com/beatlabs/patron/test/docker"
 	// Integration test.
 	_ "github.com/go-sql-driver/mysql"
-	"github.com/ory/dockertest"
+	"github.com/ory/dockertest/v3"
 )
 
 const (
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/term/ascii.go b/vendor/github.com/moby/term/ascii.go
similarity index 93%
rename from vendor/github.com/ory/dockertest/docker/pkg/term/ascii.go
rename to vendor/github.com/moby/term/ascii.go
index 717759409..55873c055 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/term/ascii.go
+++ b/vendor/github.com/moby/term/ascii.go
@@ -1,4 +1,4 @@
-package term // import "github.com/ory/dockertest/docker/pkg/term"
+package term
 
 import (
 	"fmt"
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/term/term.go b/vendor/github.com/moby/term/term.go
similarity index 89%
rename from vendor/github.com/ory/dockertest/docker/pkg/term/term.go
rename to vendor/github.com/moby/term/term.go
index 6895f1bf1..29c6acf1c 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/term/term.go
+++ b/vendor/github.com/moby/term/term.go
@@ -2,7 +2,7 @@
 
 // Package term provides structures and helper functions to work with
 // terminal (state, sizes).
-package term // import "github.com/ory/dockertest/docker/pkg/term"
+package term
 
 import (
 	"errors"
@@ -50,8 +50,8 @@ func GetFdInfo(in interface{}) (uintptr, bool) {
 
 // IsTerminal returns true if the given file descriptor is a terminal.
 func IsTerminal(fd uintptr) bool {
-	var termios Termios
-	return tcget(fd, &termios) == 0
+	_, err := tcget(fd)
+	return err == nil
 }
 
 // RestoreTerminal restores the terminal connected to the given file descriptor
@@ -60,20 +60,16 @@ func RestoreTerminal(fd uintptr, state *State) error {
 	if state == nil {
 		return ErrInvalidState
 	}
-	if err := tcset(fd, &state.termios); err != 0 {
-		return err
-	}
-	return nil
+	return tcset(fd, &state.termios)
 }
 
 // SaveState saves the state of the terminal connected to the given file descriptor.
 func SaveState(fd uintptr) (*State, error) {
-	var oldState State
-	if err := tcget(fd, &oldState.termios); err != 0 {
+	termios, err := tcget(fd)
+	if err != nil {
 		return nil, err
 	}
-
-	return &oldState, nil
+	return &State{termios: *termios}, nil
 }
 
 // DisableEcho applies the specified state to the terminal connected to the file
@@ -82,7 +78,7 @@ func DisableEcho(fd uintptr, state *State) error {
 	newState := state.termios
 	newState.Lflag &^= unix.ECHO
 
-	if err := tcset(fd, &newState); err != 0 {
+	if err := tcset(fd, &newState); err != nil {
 		return err
 	}
 	handleInterrupt(fd, state)
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/term/term_windows.go b/vendor/github.com/moby/term/term_windows.go
similarity index 67%
rename from vendor/github.com/ory/dockertest/docker/pkg/term/term_windows.go
rename to vendor/github.com/moby/term/term_windows.go
index 410317065..2e512759e 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/term/term_windows.go
+++ b/vendor/github.com/moby/term/term_windows.go
@@ -1,13 +1,12 @@
-package term // import "github.com/ory/dockertest/docker/pkg/term"
+package term
 
 import (
 	"io"
 	"os"
 	"os/signal"
-	"syscall" // used for STD_INPUT_HANDLE, STD_OUTPUT_HANDLE and STD_ERROR_HANDLE
 
-	"github.com/Azure/go-ansiterm/winterm"
-	"github.com/ory/dockertest/docker/pkg/term/windows"
+	windowsconsole "github.com/moby/term/windows"
+	"golang.org/x/sys/windows"
 )
 
 // State holds the console mode for the terminal.
@@ -28,65 +27,63 @@ var vtInputSupported bool
 func StdStreams() (stdIn io.ReadCloser, stdOut, stdErr io.Writer) {
 	// Turn on VT handling on all std handles, if possible. This might
 	// fail, in which case we will fall back to terminal emulation.
-	var emulateStdin, emulateStdout, emulateStderr bool
-	fd := os.Stdin.Fd()
-	if mode, err := winterm.GetConsoleMode(fd); err == nil {
+	var (
+		emulateStdin, emulateStdout, emulateStderr bool
+
+		mode uint32
+	)
+
+	fd := windows.Handle(os.Stdin.Fd())
+	if err := windows.GetConsoleMode(fd, &mode); err == nil {
 		// Validate that winterm.ENABLE_VIRTUAL_TERMINAL_INPUT is supported, but do not set it.
-		if err = winterm.SetConsoleMode(fd, mode|winterm.ENABLE_VIRTUAL_TERMINAL_INPUT); err != nil {
+		if err = windows.SetConsoleMode(fd, mode|windows.ENABLE_VIRTUAL_TERMINAL_INPUT); err != nil {
 			emulateStdin = true
 		} else {
 			vtInputSupported = true
 		}
 		// Unconditionally set the console mode back even on failure because SetConsoleMode
 		// remembers invalid bits on input handles.
-		winterm.SetConsoleMode(fd, mode)
+		_ = windows.SetConsoleMode(fd, mode)
 	}
 
-	fd = os.Stdout.Fd()
-	if mode, err := winterm.GetConsoleMode(fd); err == nil {
+	fd = windows.Handle(os.Stdout.Fd())
+	if err := windows.GetConsoleMode(fd, &mode); err == nil {
 		// Validate winterm.DISABLE_NEWLINE_AUTO_RETURN is supported, but do not set it.
-		if err = winterm.SetConsoleMode(fd, mode|winterm.ENABLE_VIRTUAL_TERMINAL_PROCESSING|winterm.DISABLE_NEWLINE_AUTO_RETURN); err != nil {
+		if err = windows.SetConsoleMode(fd, mode|windows.ENABLE_VIRTUAL_TERMINAL_PROCESSING|windows.DISABLE_NEWLINE_AUTO_RETURN); err != nil {
 			emulateStdout = true
 		} else {
-			winterm.SetConsoleMode(fd, mode|winterm.ENABLE_VIRTUAL_TERMINAL_PROCESSING)
+			_ = windows.SetConsoleMode(fd, mode|windows.ENABLE_VIRTUAL_TERMINAL_PROCESSING)
 		}
 	}
 
-	fd = os.Stderr.Fd()
-	if mode, err := winterm.GetConsoleMode(fd); err == nil {
+	fd = windows.Handle(os.Stderr.Fd())
+	if err := windows.GetConsoleMode(fd, &mode); err == nil {
 		// Validate winterm.DISABLE_NEWLINE_AUTO_RETURN is supported, but do not set it.
-		if err = winterm.SetConsoleMode(fd, mode|winterm.ENABLE_VIRTUAL_TERMINAL_PROCESSING|winterm.DISABLE_NEWLINE_AUTO_RETURN); err != nil {
+		if err = windows.SetConsoleMode(fd, mode|windows.ENABLE_VIRTUAL_TERMINAL_PROCESSING|windows.DISABLE_NEWLINE_AUTO_RETURN); err != nil {
 			emulateStderr = true
 		} else {
-			winterm.SetConsoleMode(fd, mode|winterm.ENABLE_VIRTUAL_TERMINAL_PROCESSING)
+			_ = windows.SetConsoleMode(fd, mode|windows.ENABLE_VIRTUAL_TERMINAL_PROCESSING)
 		}
 	}
 
-	if os.Getenv("ConEmuANSI") == "ON" || os.Getenv("ConsoleZVersion") != "" {
-		// The ConEmu and ConsoleZ terminals emulate ANSI on output streams well.
-		emulateStdin = true
-		emulateStdout = false
-		emulateStderr = false
-	}
-
 	// Temporarily use STD_INPUT_HANDLE, STD_OUTPUT_HANDLE and
 	// STD_ERROR_HANDLE from syscall rather than x/sys/windows as long as
 	// go-ansiterm hasn't switch to x/sys/windows.
 	// TODO: switch back to x/sys/windows once go-ansiterm has switched
 	if emulateStdin {
-		stdIn = windowsconsole.NewAnsiReader(syscall.STD_INPUT_HANDLE)
+		stdIn = windowsconsole.NewAnsiReader(windows.STD_INPUT_HANDLE)
 	} else {
 		stdIn = os.Stdin
 	}
 
 	if emulateStdout {
-		stdOut = windowsconsole.NewAnsiWriter(syscall.STD_OUTPUT_HANDLE)
+		stdOut = windowsconsole.NewAnsiWriter(windows.STD_OUTPUT_HANDLE)
 	} else {
 		stdOut = os.Stdout
 	}
 
 	if emulateStderr {
-		stdErr = windowsconsole.NewAnsiWriter(syscall.STD_ERROR_HANDLE)
+		stdErr = windowsconsole.NewAnsiWriter(windows.STD_ERROR_HANDLE)
 	} else {
 		stdErr = os.Stderr
 	}
@@ -101,8 +98,8 @@ func GetFdInfo(in interface{}) (uintptr, bool) {
 
 // GetWinsize returns the window size based on the specified file descriptor.
 func GetWinsize(fd uintptr) (*Winsize, error) {
-	info, err := winterm.GetConsoleScreenBufferInfo(fd)
-	if err != nil {
+	var info windows.ConsoleScreenBufferInfo
+	if err := windows.GetConsoleScreenBufferInfo(windows.Handle(fd), &info); err != nil {
 		return nil, err
 	}
 
@@ -116,20 +113,23 @@ func GetWinsize(fd uintptr) (*Winsize, error) {
 
 // IsTerminal returns true if the given file descriptor is a terminal.
 func IsTerminal(fd uintptr) bool {
-	return windowsconsole.IsConsole(fd)
+	var mode uint32
+	err := windows.GetConsoleMode(windows.Handle(fd), &mode)
+	return err == nil
 }
 
 // RestoreTerminal restores the terminal connected to the given file descriptor
 // to a previous state.
 func RestoreTerminal(fd uintptr, state *State) error {
-	return winterm.SetConsoleMode(fd, state.mode)
+	return windows.SetConsoleMode(windows.Handle(fd), state.mode)
 }
 
 // SaveState saves the state of the terminal connected to the given file descriptor.
 func SaveState(fd uintptr) (*State, error) {
-	mode, e := winterm.GetConsoleMode(fd)
-	if e != nil {
-		return nil, e
+	var mode uint32
+
+	if err := windows.GetConsoleMode(windows.Handle(fd), &mode); err != nil {
+		return nil, err
 	}
 
 	return &State{mode: mode}, nil
@@ -139,9 +139,9 @@ func SaveState(fd uintptr) (*State, error) {
 // -- See https://msdn.microsoft.com/en-us/library/windows/desktop/ms683462(v=vs.85).aspx
 func DisableEcho(fd uintptr, state *State) error {
 	mode := state.mode
-	mode &^= winterm.ENABLE_ECHO_INPUT
-	mode |= winterm.ENABLE_PROCESSED_INPUT | winterm.ENABLE_LINE_INPUT
-	err := winterm.SetConsoleMode(fd, mode)
+	mode &^= windows.ENABLE_ECHO_INPUT
+	mode |= windows.ENABLE_PROCESSED_INPUT | windows.ENABLE_LINE_INPUT
+	err := windows.SetConsoleMode(windows.Handle(fd), mode)
 	if err != nil {
 		return err
 	}
@@ -176,7 +176,7 @@ func SetRawTerminalOutput(fd uintptr) (*State, error) {
 
 	// Ignore failures, since winterm.DISABLE_NEWLINE_AUTO_RETURN might not be supported on this
 	// version of Windows.
-	winterm.SetConsoleMode(fd, state.mode|winterm.DISABLE_NEWLINE_AUTO_RETURN)
+	_ = windows.SetConsoleMode(windows.Handle(fd), state.mode|windows.DISABLE_NEWLINE_AUTO_RETURN)
 	return state, err
 }
 
@@ -195,21 +195,21 @@ func MakeRaw(fd uintptr) (*State, error) {
 	// -- https://msdn.microsoft.com/en-us/library/windows/desktop/ms683462(v=vs.85).aspx
 
 	// Disable these modes
-	mode &^= winterm.ENABLE_ECHO_INPUT
-	mode &^= winterm.ENABLE_LINE_INPUT
-	mode &^= winterm.ENABLE_MOUSE_INPUT
-	mode &^= winterm.ENABLE_WINDOW_INPUT
-	mode &^= winterm.ENABLE_PROCESSED_INPUT
+	mode &^= windows.ENABLE_ECHO_INPUT
+	mode &^= windows.ENABLE_LINE_INPUT
+	mode &^= windows.ENABLE_MOUSE_INPUT
+	mode &^= windows.ENABLE_WINDOW_INPUT
+	mode &^= windows.ENABLE_PROCESSED_INPUT
 
 	// Enable these modes
-	mode |= winterm.ENABLE_EXTENDED_FLAGS
-	mode |= winterm.ENABLE_INSERT_MODE
-	mode |= winterm.ENABLE_QUICK_EDIT_MODE
+	mode |= windows.ENABLE_EXTENDED_FLAGS
+	mode |= windows.ENABLE_INSERT_MODE
+	mode |= windows.ENABLE_QUICK_EDIT_MODE
 	if vtInputSupported {
-		mode |= winterm.ENABLE_VIRTUAL_TERMINAL_INPUT
+		mode |= windows.ENABLE_VIRTUAL_TERMINAL_INPUT
 	}
 
-	err = winterm.SetConsoleMode(fd, mode)
+	err = windows.SetConsoleMode(windows.Handle(fd), mode)
 	if err != nil {
 		return nil, err
 	}
@@ -222,7 +222,7 @@ func restoreAtInterrupt(fd uintptr, state *State) {
 
 	go func() {
 		_ = <-sigchan
-		RestoreTerminal(fd, state)
+		_ = RestoreTerminal(fd, state)
 		os.Exit(0)
 	}()
 }
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/term/termios_linux.go b/vendor/github.com/moby/term/termios.go
similarity index 61%
rename from vendor/github.com/ory/dockertest/docker/pkg/term/termios_linux.go
rename to vendor/github.com/moby/term/termios.go
index 003135736..0f028e227 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/term/termios_linux.go
+++ b/vendor/github.com/moby/term/termios.go
@@ -1,28 +1,24 @@
-package term // import "github.com/ory/dockertest/docker/pkg/term"
+// +build !windows
+
+package term
 
 import (
 	"golang.org/x/sys/unix"
 )
 
-const (
-	getTermios = unix.TCGETS
-	setTermios = unix.TCSETS
-)
-
 // Termios is the Unix API for terminal I/O.
-type Termios unix.Termios
+type Termios = unix.Termios
 
-// MakeRaw put the terminal connected to the given file descriptor into raw
+// MakeRaw puts the terminal connected to the given file descriptor into raw
 // mode and returns the previous state of the terminal so that it can be
 // restored.
 func MakeRaw(fd uintptr) (*State, error) {
-	termios, err := unix.IoctlGetTermios(int(fd), getTermios)
+	termios, err := tcget(fd)
 	if err != nil {
 		return nil, err
 	}
 
-	var oldState State
-	oldState.termios = Termios(*termios)
+	oldState := State{termios: *termios}
 
 	termios.Iflag &^= (unix.IGNBRK | unix.BRKINT | unix.PARMRK | unix.ISTRIP | unix.INLCR | unix.IGNCR | unix.ICRNL | unix.IXON)
 	termios.Oflag &^= unix.OPOST
@@ -32,7 +28,7 @@ func MakeRaw(fd uintptr) (*State, error) {
 	termios.Cc[unix.VMIN] = 1
 	termios.Cc[unix.VTIME] = 0
 
-	if err := unix.IoctlSetTermios(int(fd), setTermios, termios); err != nil {
+	if err := tcset(fd, termios); err != nil {
 		return nil, err
 	}
 	return &oldState, nil
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/term/windows/ansi_reader.go b/vendor/github.com/moby/term/windows/ansi_reader.go
similarity index 87%
rename from vendor/github.com/ory/dockertest/docker/pkg/term/windows/ansi_reader.go
rename to vendor/github.com/moby/term/windows/ansi_reader.go
index 6a90f37ee..155251521 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/term/windows/ansi_reader.go
+++ b/vendor/github.com/moby/term/windows/ansi_reader.go
@@ -1,6 +1,6 @@
 // +build windows
 
-package windowsconsole // import "github.com/ory/dockertest/docker/pkg/term/windows"
+package windowsconsole
 
 import (
 	"bytes"
@@ -31,7 +31,6 @@ type ansiReader struct {
 // NewAnsiReader returns an io.ReadCloser that provides VT100 terminal emulation on top of a
 // Windows console input handle.
 func NewAnsiReader(nFile int) io.ReadCloser {
-	initLogger()
 	file, fd := winterm.GetStdFile(nFile)
 	return &ansiReader{
 		file:    file,
@@ -59,8 +58,6 @@ func (ar *ansiReader) Read(p []byte) (int, error) {
 
 	// Previously read bytes exist, read as much as we can and return
 	if len(ar.buffer) > 0 {
-		logger.Debugf("Reading previously cached bytes")
-
 		originalLength := len(ar.buffer)
 		copiedLength := copy(p, ar.buffer)
 
@@ -70,16 +67,14 @@ func (ar *ansiReader) Read(p []byte) (int, error) {
 			ar.buffer = ar.buffer[copiedLength:]
 		}
 
-		logger.Debugf("Read from cache p[%d]: % x", copiedLength, p)
 		return copiedLength, nil
 	}
 
 	// Read and translate key events
-	events, err := readInputEvents(ar.fd, len(p))
+	events, err := readInputEvents(ar, len(p))
 	if err != nil {
 		return 0, err
 	} else if len(events) == 0 {
-		logger.Debug("No input events detected")
 		return 0, nil
 	}
 
@@ -87,11 +82,9 @@ func (ar *ansiReader) Read(p []byte) (int, error) {
 
 	// Save excess bytes and right-size keyBytes
 	if len(keyBytes) > len(p) {
-		logger.Debugf("Received %d keyBytes, only room for %d bytes", len(keyBytes), len(p))
 		ar.buffer = keyBytes[len(p):]
 		keyBytes = keyBytes[:len(p)]
 	} else if len(keyBytes) == 0 {
-		logger.Debug("No key bytes returned from the translator")
 		return 0, nil
 	}
 
@@ -100,13 +93,11 @@ func (ar *ansiReader) Read(p []byte) (int, error) {
 		return 0, errors.New("unexpected copy length encountered")
 	}
 
-	logger.Debugf("Read        p[%d]: % x", copiedLength, p)
-	logger.Debugf("Read keyBytes[%d]: % x", copiedLength, keyBytes)
 	return copiedLength, nil
 }
 
 // readInputEvents polls until at least one event is available.
-func readInputEvents(fd uintptr, maxBytes int) ([]winterm.INPUT_RECORD, error) {
+func readInputEvents(ar *ansiReader, maxBytes int) ([]winterm.INPUT_RECORD, error) {
 	// Determine the maximum number of records to retrieve
 	// -- Cast around the type system to obtain the size of a single INPUT_RECORD.
 	//    unsafe.Sizeof requires an expression vs. a type-reference; the casting
@@ -118,25 +109,23 @@ func readInputEvents(fd uintptr, maxBytes int) ([]winterm.INPUT_RECORD, error) {
 	} else if countRecords == 0 {
 		countRecords = 1
 	}
-	logger.Debugf("[windows] readInputEvents: Reading %v records (buffer size %v, record size %v)", countRecords, maxBytes, recordSize)
 
 	// Wait for and read input events
 	events := make([]winterm.INPUT_RECORD, countRecords)
 	nEvents := uint32(0)
-	eventsExist, err := winterm.WaitForSingleObject(fd, winterm.WAIT_INFINITE)
+	eventsExist, err := winterm.WaitForSingleObject(ar.fd, winterm.WAIT_INFINITE)
 	if err != nil {
 		return nil, err
 	}
 
 	if eventsExist {
-		err = winterm.ReadConsoleInput(fd, events, &nEvents)
+		err = winterm.ReadConsoleInput(ar.fd, events, &nEvents)
 		if err != nil {
 			return nil, err
 		}
 	}
 
 	// Return a slice restricted to the number of returned records
-	logger.Debugf("[windows] readInputEvents: Read %v events", nEvents)
 	return events[:nEvents], nil
 }
 
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/term/windows/ansi_writer.go b/vendor/github.com/moby/term/windows/ansi_writer.go
similarity index 79%
rename from vendor/github.com/ory/dockertest/docker/pkg/term/windows/ansi_writer.go
rename to vendor/github.com/moby/term/windows/ansi_writer.go
index 6bf88c9d2..ccb5ef077 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/term/windows/ansi_writer.go
+++ b/vendor/github.com/moby/term/windows/ansi_writer.go
@@ -1,6 +1,6 @@
 // +build windows
 
-package windowsconsole // import "github.com/ory/dockertest/docker/pkg/term/windows"
+package windowsconsole
 
 import (
 	"io"
@@ -24,7 +24,6 @@ type ansiWriter struct {
 // NewAnsiWriter returns an io.Writer that provides VT100 terminal emulation on top of a
 // Windows console output handle.
 func NewAnsiWriter(nFile int) io.Writer {
-	initLogger()
 	file, fd := winterm.GetStdFile(nFile)
 	info, err := winterm.GetConsoleScreenBufferInfo(fd)
 	if err != nil {
@@ -32,9 +31,8 @@ func NewAnsiWriter(nFile int) io.Writer {
 	}
 
 	parser := ansiterm.CreateParser("Ground", winterm.CreateWinEventHandler(fd, file))
-	logger.Infof("newAnsiWriter: parser %p", parser)
 
-	aw := &ansiWriter{
+	return &ansiWriter{
 		file:           file,
 		fd:             fd,
 		infoReset:      info,
@@ -42,10 +40,6 @@ func NewAnsiWriter(nFile int) io.Writer {
 		escapeSequence: []byte(ansiterm.KEY_ESC_CSI),
 		parser:         parser,
 	}
-
-	logger.Infof("newAnsiWriter: aw.parser %p", aw.parser)
-	logger.Infof("newAnsiWriter: %v", aw)
-	return aw
 }
 
 func (aw *ansiWriter) Fd() uintptr {
@@ -58,7 +52,5 @@ func (aw *ansiWriter) Write(p []byte) (total int, err error) {
 		return 0, nil
 	}
 
-	logger.Infof("Write: % x", p)
-	logger.Infof("Write: %s", string(p))
 	return aw.parser.Parse(p)
 }
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/term/windows/console.go b/vendor/github.com/moby/term/windows/console.go
similarity index 63%
rename from vendor/github.com/ory/dockertest/docker/pkg/term/windows/console.go
rename to vendor/github.com/moby/term/windows/console.go
index f2396aa0d..01fdc0f2a 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/term/windows/console.go
+++ b/vendor/github.com/moby/term/windows/console.go
@@ -1,11 +1,11 @@
 // +build windows
 
-package windowsconsole // import "github.com/ory/dockertest/docker/pkg/term/windows"
+package windowsconsole
 
 import (
 	"os"
 
-	"github.com/Azure/go-ansiterm/winterm"
+	"golang.org/x/sys/windows"
 )
 
 // GetHandleInfo returns file descriptor and bool indicating whether the file is a console.
@@ -22,14 +22,18 @@ func GetHandleInfo(in interface{}) (uintptr, bool) {
 
 	if file, ok := in.(*os.File); ok {
 		inFd = file.Fd()
-		isTerminal = IsConsole(inFd)
+		isTerminal = isConsole(inFd)
 	}
 	return inFd, isTerminal
 }
 
 // IsConsole returns true if the given file descriptor is a Windows Console.
 // The code assumes that GetConsoleMode will return an error for file descriptors that are not a console.
-func IsConsole(fd uintptr) bool {
-	_, e := winterm.GetConsoleMode(fd)
-	return e == nil
+// Deprecated: use golang.org/x/sys/windows.GetConsoleMode() or golang.org/x/crypto/ssh/terminal.IsTerminal()
+var IsConsole = isConsole
+
+func isConsole(fd uintptr) bool {
+	var mode uint32
+	err := windows.GetConsoleMode(windows.Handle(fd), &mode)
+	return err == nil
 }
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/term/winsize.go b/vendor/github.com/moby/term/winsize.go
similarity index 90%
rename from vendor/github.com/ory/dockertest/docker/pkg/term/winsize.go
rename to vendor/github.com/moby/term/winsize.go
index fc05d9606..1ef98d599 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/term/winsize.go
+++ b/vendor/github.com/moby/term/winsize.go
@@ -1,6 +1,6 @@
 // +build !windows
 
-package term // import "github.com/ory/dockertest/docker/pkg/term"
+package term
 
 import (
 	"golang.org/x/sys/unix"
diff --git a/vendor/github.com/ory/dockertest/.travis.yml b/vendor/github.com/ory/dockertest/.travis.yml
deleted file mode 100644
index 367aab215..000000000
--- a/vendor/github.com/ory/dockertest/.travis.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-sudo: required
-
-go_import_path: github.com/ory/dockertest
-
-language: go
-
-services:
-  - docker
-
-go:
-  - 1.9
-
-install:
-  - go get github.com/mattn/goveralls golang.org/x/tools/cmd/cover github.com/pierrre/gotestcover
-  - curl -L -s https://github.com/golang/dep/releases/download/v0.4.1/dep-linux-amd64 -o $GOPATH/bin/dep && chmod +x $GOPATH/bin/dep
-  - dep ensure -vendor-only
-
-script:
-  - go vet -x .
-  - go test -covermode=atomic -coverprofile="cover.out" .
-  - goveralls -coverprofile="cover.out"
diff --git a/vendor/github.com/ory/dockertest/CONTRIBUTING.md b/vendor/github.com/ory/dockertest/CONTRIBUTING.md
deleted file mode 100644
index b0fc6a39b..000000000
--- a/vendor/github.com/ory/dockertest/CONTRIBUTING.md
+++ /dev/null
@@ -1,93 +0,0 @@
-# Contributing to ORY Dockertest
-
-<!-- START doctoc generated TOC please keep comment here to allow auto update -->
-<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
-**Table of Contents**
-
-- [Introduction](#introduction)
-- [Contributing Code](#contributing-code)
-- [Disclosing vulnerabilities](#disclosing-vulnerabilities)
-- [Code Style](#code-style)
-- [Pull request procedure](#pull-request-procedure)
-- [Communication](#communication)
-- [Conduct](#conduct)
-
-<!-- END doctoc generated TOC please keep comment here to allow auto update -->
-
-## Introduction
-
-Please note: We take ORY Dockertest's security and our users' trust very seriously. If you believe you have found a
-security issue in ORY Dockertest, please responsibly disclose by contacting us at hi@ory.sh.
-
-First: if you're unsure or afraid of anything, just ask or submit the issue or pull request anyways. You won't be
-yelled at for giving it your best effort. The worst that can happen is that you'll be politely asked to change
-something. We appreciate any sort of contributions, and don't want a wall of rules to get in the way of that.
-
-That said, if you want to ensure that a pull request is likely to be merged, talk to us! You can find out our thoughts
-and ensure that your contribution won't clash or be obviated by ORY Dockertest's normal direction. A great way to do this is via
-the [ORY Community](https://community.ory.sh/) or join the [ORY Chat](https://www.ory.sh/chat).
-
-## Contributing Code
-
-Unless you are fixing a known bug, we **strongly** recommend discussing it with the core team via a GitHub issue or
-[in our chat](https://www.ory.sh/chat) before getting started to ensure your work is consistent with
-ORY Dockertest's roadmap and architecture.
-
-All contributions are made via pull request. Note that **all patches from all contributors get reviewed**. After a pull
-request is made other contributors will offer feedback, and if the patch passes review a maintainer will accept it with
-a comment. When pull requests fail testing, authors are expected to update their pull requests to address the failures
-until the tests pass and the pull request merges successfully.
-
-At least one review from a maintainer is required for all patches (even patches from maintainers).
-
-Reviewers should leave a "LGTM" comment once they are satisfied with the patch. If the patch was submitted by a
-maintainer with write access, the pull request should be merged by the submitter after review.
-
-## Disclosing vulnerabilities
-
-Please disclose vulnerabilities exclusively to [hi@ory.am](mailto:hi@ory.am). Do not use GitHub issues.
-
-## Code Style
-
-Please follow these guidelines when formatting source code:
-
-* Go code should match the output of `gofmt -s`
-
-## Pull request procedure
-
-To make a pull request, you will need a GitHub account; if you are unclear on this process, see GitHub's
-documentation on [forking](https://help.github.com/articles/fork-a-repo) and [pull requests](https://help.github.com/articles/using-pull-requests).
-Pull requests should be targeted at the `master` branch. Before creating a pull request, go through this checklist:
-
-1. Create a feature branch off of `master` so that changes do not get mixed up.
-1. [Rebase](http://git-scm.com/book/en/Git-Branching-Rebasing) your local changes against the `master` branch.
-1. Run the full project test suite with the `go test ./...` (or equivalent) command and confirm that it passes.
-1. Run `gofmt -s` (if the project is written in Go).
-1. Ensure that each commit has a subsystem prefix (ex: `controller: `).
-
-Pull requests will be treated as "review requests," and maintainers will give feedback on the style and substance of the patch.
-
-Normally, all pull requests must include tests that test your change. Occasionally, a change will
-be very difficult to test for. In those cases, please include a note in your commit message explaining why.
-
-## Communication
-
-We use [discord](https://www.ory.sh/chat). You are welcome to drop in and ask questions, discuss bugs, etc.
-
-## Conduct
-
-Whether you are a regular contributor or a newcomer, we care about making this community a safe place for you and
-we've got your back.
-
-* We are committed to providing a friendly, safe and welcoming environment for all, regardless of gender,
-    sexual orientation, disability, ethnicity, religion, or similar personal characteristic.
-* Please avoid using nicknames that might detract from a friendly, safe and welcoming environment for all.
-* Be kind and courteous. There is no need to be mean or rude.
-* We will exclude you from interaction if you insult, demean or harass anyone. In particular, we do not tolerate
-    behavior that excludes people in socially marginalized groups.
-* Private harassment is also unacceptable. No matter who you are, if you feel you have been or are being harassed or
-    made uncomfortable by a community member, please contact one of the channel ops or a member of the ORY
-    Dockertest core team immediately.
-* Likewise any spamming, trolling, flaming, baiting or other attention-stealing behaviour is not welcome.
-
-We welcome discussion about creating a welcoming, safe, and productive environment for the community. If you have any questions, feedback, or concerns [please let us know](https://www.ory.sh/chat).
diff --git a/vendor/github.com/ory/dockertest/Gopkg.lock b/vendor/github.com/ory/dockertest/Gopkg.lock
deleted file mode 100644
index 0fdb5005e..000000000
--- a/vendor/github.com/ory/dockertest/Gopkg.lock
+++ /dev/null
@@ -1,160 +0,0 @@
-# This file is autogenerated, do not edit; changes may be undone by the next 'dep ensure'.
-
-
-[[projects]]
-  branch = "master"
-  name = "github.com/Azure/go-ansiterm"
-  packages = [
-    ".",
-    "winterm"
-  ]
-  revision = "d6e3b3328b783f23731bc4d058875b0371ff8109"
-
-[[projects]]
-  name = "github.com/Microsoft/go-winio"
-  packages = ["."]
-  revision = "7da180ee92d8bd8bb8c37fc560e673e6557c392f"
-  version = "v0.4.7"
-
-[[projects]]
-  branch = "master"
-  name = "github.com/Nvveen/Gotty"
-  packages = ["."]
-  revision = "cd527374f1e5bff4938207604a14f2e38a9cf512"
-
-[[projects]]
-  name = "github.com/cenkalti/backoff"
-  packages = ["."]
-  revision = "2ea60e5f094469f9e65adb9cd103795b73ae743e"
-  version = "v2.0.0"
-
-[[projects]]
-  branch = "master"
-  name = "github.com/containerd/continuity"
-  packages = ["pathdriver"]
-  revision = "3e8f2ea4b190484acb976a5b378d373429639a1a"
-
-[[projects]]
-  name = "github.com/davecgh/go-spew"
-  packages = ["spew"]
-  revision = "346938d642f2ec3594ed81d874461961cd0faa76"
-  version = "v1.1.0"
-
-[[projects]]
-  name = "github.com/docker/go-connections"
-  packages = ["nat"]
-  revision = "3ede32e2033de7505e6500d6c868c2b9ed9f169d"
-  version = "v0.3.0"
-
-[[projects]]
-  name = "github.com/docker/go-units"
-  packages = ["."]
-  revision = "47565b4f722fb6ceae66b95f853feed578a4a51c"
-  version = "v0.3.3"
-
-[[projects]]
-  name = "github.com/google/go-cmp"
-  packages = [
-    "cmp",
-    "cmp/internal/diff",
-    "cmp/internal/function",
-    "cmp/internal/value"
-  ]
-  revision = "3af367b6b30c263d47e8895973edcca9a49cf029"
-  version = "v0.2.0"
-
-[[projects]]
-  name = "github.com/gotestyourself/gotestyourself"
-  packages = [
-    "assert",
-    "assert/cmp",
-    "internal/format",
-    "internal/source"
-  ]
-  revision = "03704babdbbc36b67d9a4cd94c9e00adf82f339f"
-  version = "v1.3.0"
-
-[[projects]]
-  branch = "master"
-  name = "github.com/lib/pq"
-  packages = [
-    ".",
-    "oid"
-  ]
-  revision = "d34b9ff171c21ad295489235aec8b6626023cd04"
-
-[[projects]]
-  name = "github.com/opencontainers/go-digest"
-  packages = ["."]
-  revision = "279bed98673dd5bef374d3b6e4b09e2af76183bf"
-  version = "v1.0.0-rc1"
-
-[[projects]]
-  name = "github.com/opencontainers/image-spec"
-  packages = [
-    "specs-go",
-    "specs-go/v1"
-  ]
-  revision = "d60099175f88c47cd379c4738d158884749ed235"
-  version = "v1.0.1"
-
-[[projects]]
-  name = "github.com/opencontainers/runc"
-  packages = ["libcontainer/user"]
-  revision = "4fc53a81fb7c994640722ac585fa9ca548971871"
-  version = "v1.0.0-rc5"
-
-[[projects]]
-  name = "github.com/pkg/errors"
-  packages = ["."]
-  revision = "645ef00459ed84a119197bfb8d8205042c6df63d"
-  version = "v0.8.0"
-
-[[projects]]
-  name = "github.com/pmezard/go-difflib"
-  packages = ["difflib"]
-  revision = "792786c7400a136282c1664665ae0a8db921c6c2"
-  version = "v1.0.0"
-
-[[projects]]
-  name = "github.com/sirupsen/logrus"
-  packages = ["."]
-  revision = "c155da19408a8799da419ed3eeb0cb5db0ad5dbc"
-  version = "v1.0.5"
-
-[[projects]]
-  name = "github.com/stretchr/testify"
-  packages = [
-    "assert",
-    "require"
-  ]
-  revision = "12b6f73e6084dad08a7c6e575284b177ecafbc71"
-  version = "v1.2.1"
-
-[[projects]]
-  branch = "master"
-  name = "golang.org/x/crypto"
-  packages = ["ssh/terminal"]
-  revision = "d6449816ce06963d9d136eee5a56fca5b0616e7e"
-
-[[projects]]
-  branch = "master"
-  name = "golang.org/x/net"
-  packages = ["context"]
-  revision = "61147c48b25b599e5b561d2e9c4f3e1ef489ca41"
-
-[[projects]]
-  branch = "master"
-  name = "golang.org/x/sys"
-  packages = [
-    "unix",
-    "windows"
-  ]
-  revision = "3b87a42e500a6dc65dae1a55d0b641295971163e"
-
-[solve-meta]
-  analyzer-name = "dep"
-  analyzer-version = 1
-  inputs-digest = "ce3e40911a2efdcfab33674e377c5716d75d23634f117f139c38c99157705f7c"
-  solver-name = "gps-cdcl"
-  solver-version = 1
diff --git a/vendor/github.com/ory/dockertest/Gopkg.toml b/vendor/github.com/ory/dockertest/Gopkg.toml
deleted file mode 100644
index d28d1866b..000000000
--- a/vendor/github.com/ory/dockertest/Gopkg.toml
+++ /dev/null
@@ -1,94 +0,0 @@
-# Gopkg.toml example
-#
-# Refer to https://github.com/golang/dep/blob/master/docs/Gopkg.toml.md
-# for detailed Gopkg.toml documentation.
-#
-# required = ["github.com/user/thing/cmd/thing"]
-# ignored = ["github.com/user/project/pkgX", "bitbucket.org/user/project/pkgA/pkgY"]
-#
-# [[constraint]]
-#   name = "github.com/user/project"
-#   version = "1.0.0"
-#
-# [[constraint]]
-#   name = "github.com/user/project2"
-#   branch = "dev"
-#   source = "github.com/myfork/project2"
-#
-# [[override]]
-#   name = "github.com/x/y"
-#   version = "2.4.0"
-#
-# [prune]
-#   non-go = false
-#   go-tests = true
-#   unused-packages = true
-
-
-[[constraint]]
-  branch = "master"
-  name = "github.com/Azure/go-ansiterm"
-
-[[constraint]]
-  name = "github.com/Microsoft/go-winio"
-  version = "0.4.7"
-
-[[constraint]]
-  branch = "master"
-  name = "github.com/Nvveen/Gotty"
-
-[[constraint]]
-  name = "github.com/cenkalti/backoff"
-  version = "2.0.0"
-
-[[constraint]]
-  branch = "master"
-  name = "github.com/containerd/continuity"
-
-[[constraint]]
-  name = "github.com/docker/go-connections"
-  version = "0.3.0"
-
-[[constraint]]
-  name = "github.com/docker/go-units"
-  version = "0.3.3"
-
-[[constraint]]
-  name = "github.com/gotestyourself/gotestyourself"
-  version = "1.3.0"
-
-[[constraint]]
-  branch = "master"
-  name = "github.com/lib/pq"
-
-[[constraint]]
-  name = "github.com/opencontainers/image-spec"
-  version = "1.0.1"
-
-[[constraint]]
-  name = "github.com/opencontainers/runc"
-  version = "1.0.0-rc5"
-
-[[constraint]]
-  name = "github.com/pkg/errors"
-  version = "0.8.0"
-
-[[constraint]]
-  name = "github.com/sirupsen/logrus"
-  version = "1.0.5"
-
-[[constraint]]
-  name = "github.com/stretchr/testify"
-  version = "1.2.1"
-
-[[constraint]]
-  branch = "master"
-  name = "golang.org/x/net"
-
-[[constraint]]
-  branch = "master"
-  name = "golang.org/x/sys"
-
-[prune]
-  go-tests = true
-  unused-packages = true
diff --git a/vendor/github.com/ory/dockertest/SECURITY.md b/vendor/github.com/ory/dockertest/SECURITY.md
deleted file mode 100644
index 1ce5ed2bf..000000000
--- a/vendor/github.com/ory/dockertest/SECURITY.md
+++ /dev/null
@@ -1,20 +0,0 @@
-# Security Policy
-
-## Supported Versions
-
-We release patches for security vulnerabilities.
-Which versions are eligible receiving such patches
-depend on the CVSS v3.0 Rating:
-
-| CVSS v3.0  | Supported Versions                        |
-| ---------- | ----------------------------------------- |
-| 9.0-10.0   | Releases within the previous three months |
-| 4.0-8.9    | Most recent release                       |
-
-## Reporting a Vulnerability
-
-Please report (suspected) security vulnerabilities to
-**[security@ory.sh](mailto:security@ory.sh)**. You will receive
-a response from us within 48 hours. If the issue is confirmed,
-we will release a patch as soon as possible depending on complexity
-but historically within a few days.
diff --git a/vendor/github.com/ory/dockertest/docker/opts/opts_unix.go b/vendor/github.com/ory/dockertest/docker/opts/opts_unix.go
deleted file mode 100644
index 2766a43a0..000000000
--- a/vendor/github.com/ory/dockertest/docker/opts/opts_unix.go
+++ /dev/null
@@ -1,6 +0,0 @@
-// +build !windows
-
-package opts
-
-// DefaultHTTPHost Default HTTP Host used if only port is provided to -H flag e.g. dockerd -H tcp://:8080
-const DefaultHTTPHost = "localhost"
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/term/proxy.go b/vendor/github.com/ory/dockertest/docker/pkg/term/proxy.go
deleted file mode 100644
index 9e8ac1709..000000000
--- a/vendor/github.com/ory/dockertest/docker/pkg/term/proxy.go
+++ /dev/null
@@ -1,74 +0,0 @@
-package term // import "github.com/ory/dockertest/docker/pkg/term"
-
-import (
-	"io"
-)
-
-// EscapeError is special error which returned by a TTY proxy reader's Read()
-// method in case its detach escape sequence is read.
-type EscapeError struct{}
-
-func (EscapeError) Error() string {
-	return "read escape sequence"
-}
-
-// escapeProxy is used only for attaches with a TTY. It is used to proxy
-// stdin keypresses from the underlying reader and look for the passed in
-// escape key sequence to signal a detach.
-type escapeProxy struct {
-	escapeKeys   []byte
-	escapeKeyPos int
-	r            io.Reader
-}
-
-// NewEscapeProxy returns a new TTY proxy reader which wraps the given reader
-// and detects when the specified escape keys are read, in which case the Read
-// method will return an error of type EscapeError.
-func NewEscapeProxy(r io.Reader, escapeKeys []byte) io.Reader {
-	return &escapeProxy{
-		escapeKeys: escapeKeys,
-		r:          r,
-	}
-}
-
-func (r *escapeProxy) Read(buf []byte) (int, error) {
-	nr, err := r.r.Read(buf)
-
-	preserve := func() {
-		// this preserves the original key presses in the passed in buffer
-		nr += r.escapeKeyPos
-		preserve := make([]byte, 0, r.escapeKeyPos+len(buf))
-		preserve = append(preserve, r.escapeKeys[:r.escapeKeyPos]...)
-		preserve = append(preserve, buf...)
-		r.escapeKeyPos = 0
-		copy(buf[0:nr], preserve)
-	}
-
-	if nr != 1 || err != nil {
-		if r.escapeKeyPos > 0 {
-			preserve()
-		}
-		return nr, err
-	}
-
-	if buf[0] != r.escapeKeys[r.escapeKeyPos] {
-		if r.escapeKeyPos > 0 {
-			preserve()
-		}
-		return nr, nil
-	}
-
-	if r.escapeKeyPos == len(r.escapeKeys)-1 {
-		return 0, EscapeError{}
-	}
-
-	// Looks like we've got an escape key, but we need to match again on the next
-	// read.
-	// Store the current escape key we found so we can look for the next one on
-	// the next read.
-	// Since this is an escape key, make sure we don't let the caller read it
-	// If later on we find that this is not the escape sequence, we'll add the
-	// keys back
-	r.escapeKeyPos++
-	return nr - r.escapeKeyPos, nil
-}
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/term/tc.go b/vendor/github.com/ory/dockertest/docker/pkg/term/tc.go
deleted file mode 100644
index f729a883a..000000000
--- a/vendor/github.com/ory/dockertest/docker/pkg/term/tc.go
+++ /dev/null
@@ -1,20 +0,0 @@
-// +build !windows
-
-package term // import "github.com/ory/dockertest/docker/pkg/term"
-
-import (
-	"syscall"
-	"unsafe"
-
-	"golang.org/x/sys/unix"
-)
-
-func tcget(fd uintptr, p *Termios) syscall.Errno {
-	_, _, err := unix.Syscall(unix.SYS_IOCTL, fd, uintptr(getTermios), uintptr(unsafe.Pointer(p)))
-	return err
-}
-
-func tcset(fd uintptr, p *Termios) syscall.Errno {
-	_, _, err := unix.Syscall(unix.SYS_IOCTL, fd, setTermios, uintptr(unsafe.Pointer(p)))
-	return err
-}
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/term/termios_bsd.go b/vendor/github.com/ory/dockertest/docker/pkg/term/termios_bsd.go
deleted file mode 100644
index 41522ac51..000000000
--- a/vendor/github.com/ory/dockertest/docker/pkg/term/termios_bsd.go
+++ /dev/null
@@ -1,42 +0,0 @@
-// +build darwin freebsd openbsd
-
-package term // import "github.com/ory/dockertest/docker/pkg/term"
-
-import (
-	"unsafe"
-
-	"golang.org/x/sys/unix"
-)
-
-const (
-	getTermios = unix.TIOCGETA
-	setTermios = unix.TIOCSETA
-)
-
-// Termios is the Unix API for terminal I/O.
-type Termios unix.Termios
-
-// MakeRaw put the terminal connected to the given file descriptor into raw
-// mode and returns the previous state of the terminal so that it can be
-// restored.
-func MakeRaw(fd uintptr) (*State, error) {
-	var oldState State
-	if _, _, err := unix.Syscall(unix.SYS_IOCTL, fd, getTermios, uintptr(unsafe.Pointer(&oldState.termios))); err != 0 {
-		return nil, err
-	}
-
-	newState := oldState.termios
-	newState.Iflag &^= (unix.IGNBRK | unix.BRKINT | unix.PARMRK | unix.ISTRIP | unix.INLCR | unix.IGNCR | unix.ICRNL | unix.IXON)
-	newState.Oflag &^= unix.OPOST
-	newState.Lflag &^= (unix.ECHO | unix.ECHONL | unix.ICANON | unix.ISIG | unix.IEXTEN)
-	newState.Cflag &^= (unix.CSIZE | unix.PARENB)
-	newState.Cflag |= unix.CS8
-	newState.Cc[unix.VMIN] = 1
-	newState.Cc[unix.VTIME] = 0
-
-	if _, _, err := unix.Syscall(unix.SYS_IOCTL, fd, setTermios, uintptr(unsafe.Pointer(&newState))); err != 0 {
-		return nil, err
-	}
-
-	return &oldState, nil
-}
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/term/windows/windows.go b/vendor/github.com/ory/dockertest/docker/pkg/term/windows/windows.go
deleted file mode 100644
index 20082b7c3..000000000
--- a/vendor/github.com/ory/dockertest/docker/pkg/term/windows/windows.go
+++ /dev/null
@@ -1,33 +0,0 @@
-// These files implement ANSI-aware input and output streams for use by the Docker Windows client.
-// When asked for the set of standard streams (e.g., stdin, stdout, stderr), the code will create
-// and return pseudo-streams that convert ANSI sequences to / from Windows Console API calls.
-
-package windowsconsole // import "github.com/ory/dockertest/docker/pkg/term/windows"
-
-import (
-	"io/ioutil"
-	"os"
-	"sync"
-
-	ansiterm "github.com/Azure/go-ansiterm"
-	"github.com/sirupsen/logrus"
-)
-
-var logger *logrus.Logger
-var initOnce sync.Once
-
-func initLogger() {
-	initOnce.Do(func() {
-		logFile := ioutil.Discard
-
-		if isDebugEnv := os.Getenv(ansiterm.LogEnv); isDebugEnv == "1" {
-			logFile, _ = os.Create("ansiReaderWriter.log")
-		}
-
-		logger = &logrus.Logger{
-			Out:       logFile,
-			Formatter: new(logrus.TextFormatter),
-			Level:     logrus.DebugLevel,
-		}
-	})
-}
diff --git a/vendor/github.com/ory/dockertest/.gitignore b/vendor/github.com/ory/dockertest/v3/.gitignore
similarity index 100%
rename from vendor/github.com/ory/dockertest/.gitignore
rename to vendor/github.com/ory/dockertest/v3/.gitignore
diff --git a/vendor/github.com/ory/dockertest/v3/.reference-ignore b/vendor/github.com/ory/dockertest/v3/.reference-ignore
new file mode 100644
index 000000000..eee2a89c2
--- /dev/null
+++ b/vendor/github.com/ory/dockertest/v3/.reference-ignore
@@ -0,0 +1,3 @@
+**/node_modules
+docs
+CHANGELOG.md
diff --git a/vendor/github.com/ory/dockertest/v3/.travis.yml b/vendor/github.com/ory/dockertest/v3/.travis.yml
new file mode 100644
index 000000000..cc763cfb4
--- /dev/null
+++ b/vendor/github.com/ory/dockertest/v3/.travis.yml
@@ -0,0 +1,18 @@
+go_import_path: github.com/ory/dockertest/v3
+
+language: go
+
+services:
+  - docker
+
+go:
+  - 1.13
+
+before_install:
+  - go get github.com/mattn/goveralls github.com/sonatype-nexus-community/nancy
+
+script:
+  - go list -m all | nancy -quiet
+  - go vet -x .
+  - go test -covermode=atomic -coverprofile="cover.out" .
+  - goveralls -coverprofile="cover.out"
diff --git a/vendor/github.com/ory/dockertest/v3/CONTRIBUTING.md b/vendor/github.com/ory/dockertest/v3/CONTRIBUTING.md
new file mode 100644
index 000000000..78f735212
--- /dev/null
+++ b/vendor/github.com/ory/dockertest/v3/CONTRIBUTING.md
@@ -0,0 +1,258 @@
+<!--
+
+Thank you for contributing changes to this document! Because we use a central repository
+to synchronize this file across all our repositories, make sure to make your edits
+in the correct file, which you can find here:
+
+https://github.com/ory/meta/blob/master/templates/repository/common/CONTRIBUTING.md
+
+-->
+
+# Contributing to ORY Dockertest
+
+<!-- START doctoc generated TOC please keep comment here to allow auto update -->
+<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
+
+- [Introduction](#introduction)
+- [FAQ](#faq)
+- [How can I contribute?](#how-can-i-contribute)
+- [Communication](#communication)
+- [Contributing Code](#contributing-code)
+- [Documentation](#documentation)
+- [Disclosing vulnerabilities](#disclosing-vulnerabilities)
+- [Code Style](#code-style)
+- [Pull request procedure](#pull-request-procedure)
+  - [Working with Forks](#working-with-forks)
+- [Conduct](#conduct)
+
+<!-- END doctoc generated TOC please keep comment here to allow auto update -->
+
+## Introduction
+
+There are many ways in which you can contribute, beyond writing code. The goal
+of this document is to provide a high-level overview of how you can get
+involved.
+
+_Please note_: We take ORY Dockertest's security and our users' trust very
+seriously. If you believe you have found a security issue in ORY Dockertest,
+please responsibly disclose by contacting us at security@ory.sh.
+
+First: As a potential contributor, your changes and ideas are welcome at any
+hour of the day or night, weekdays, weekends, and holidays. Please do not ever
+hesitate to ask a question or send a pull request.
+
+If you are unsure, just ask or submit the issue or pull request anyways. You
+won't be yelled at for giving it your best effort. The worst that can happen is
+that you'll be politely asked to change something. We appreciate any sort of
+contributions, and don't want a wall of rules to get in the way of that.
+
+That said, if you want to ensure that a pull request is likely to be merged,
+talk to us! You can find out our thoughts and ensure that your contribution
+won't clash or be obviated by ORY
+Dockertest's normal direction. A great way to
+do this is via
+[ORY Dockertest Discussions](https://github.com/ory/dockertest/discussions)
+or the [ORY Chat](https://www.ory.sh/chat).
+
+## FAQ
+
+- I am new to the community. Where can I find the
+  [ORY Community Code of Conduct?](https://github.com/ory/dockertest/blob/master/CODE_OF_CONDUCT.md)
+
+- I have a question. Where can I get
+  [answers to questions regarding ORY Dockertest?](#communication)
+
+- I would like to contribute but I am not sure how. Are there
+  [easy ways to contribute?](#how-can-i-contribute)
+  [Or good first issues?](https://github.com/search?l=&o=desc&q=label%3A%22help+wanted%22+label%3A%22good+first+issue%22+is%3Aopen+user%3Aory+user%3Aory-corp&s=updated&type=Issues)
+
+- I want to talk to other ORY Dockertest users.
+  [How can I become a part of the community?](#communication)
+
+- I would like to know what I am agreeing to when I contribute to ORY
+  Dockertest. Does ORY have
+  [a Contributors License Agreement?](https://cla-assistant.io/ory/)
+
+- I would like updates about new versions of ORY Dockertest.
+  [How are new releases announced?](https://ory.us10.list-manage.com/subscribe?u=ffb1a878e4ec6c0ed312a3480&id=f605a41b53)
+
+## How can I contribute?
+
+If you want to start contributing code right away, we have a
+[list of good first issues](https://github.com/ory/dockertest/labels/good%20first%20issue).
+
+There are many other ways you can contribute without writing any code. Here are
+a few things you can do to help out:
+
+- **Give us a star.** It may not seem like much, but it really makes a
+  difference. This is something that everyone can do to help out ORY Dockertest.
+  Github stars help the project gain visibility and stand out.
+
+- **Join the community.** Sometimes helping people can be as easy as listening
+  to their problems and offering a different perspective. Join our Slack, have a
+  look at discussions in the forum and take part in our weekly hangout. More
+  info on this in [Communication](#communication).
+
+- **Helping with open issues.** We have a lot of open issues for ORY Dockertest
+  and some of them may lack necessary information, some are duplicates of older
+  issues. You can help out by guiding people through the process of filling out
+  the issue template, asking for clarifying information, or pointing them to
+  existing issues that match their description of the problem.
+
+- **Reviewing documentation changes.** Most documentation just needs a review
+  for proper spelling and grammar. If you think a document can be improved in
+  any way, feel free to hit the `edit` button at the top of the page. More info
+  on contributing to documentation here.
+
+- **Help with tests.** Some pull requests may lack proper tests or test plans.
+  These are needed for the change to be implemented safely.
+
+## Communication
+
+We use [Slack](https://www.ory.sh/chat). You are welcome to drop in and ask
+questions, discuss bugs and feature requests, talk to other users of ORY, etc.
+
+Check out
+[ORY Dockertest Discussions](https://github.com/ory/dockertest/discussions). This
+is a great place for in-depth discussions and lots of code examples, logs and
+similar data.
+
+You can also join our community hangout, if you want to speak to the ORY team
+directly or ask some questions. You can find more info on the hangouts in
+[Slack](https://www.ory.sh/chat).
+
+If you want to receive regular notifications about updates to ORY Dockertest,
+consider joining the mailing list. We will _only_ send you vital information on
+the projects that you are interested in.
+
+Also [follow us on twitter](https://twitter.com/orycorp).
+
+## Contributing Code
+
+Unless you are fixing a known bug, we **strongly** recommend discussing it with
+the core team via a GitHub issue or [in our chat](https://www.ory.sh/chat)
+before getting started to ensure your work is consistent with ORY Dockertest's
+roadmap and architecture.
+
+All contributions are made via pull request. Note that **all patches from all
+contributors get reviewed**. After a pull request is made other contributors
+will offer feedback, and if the patch passes review a maintainer will accept it
+with a comment. When pull requests fail testing, authors are expected to update
+their pull requests to address the failures until the tests pass and the pull
+request merges successfully. Look here for more info on the
+[Pull request procedure](#pull-request-procedure).
+
+At least one review from a maintainer is required for all patches (even patches
+from maintainers).
+
+Before your contributions can be merged you need to sign our
+[Contributor License Agreement](https://cla-assistant.io/ory/).
+
+This agreement defines the terms under which your code is contributed to ORY.
+More specifically it declares that you have the right to, and actually do, grant
+us the rights to use your contribution. You can see the Apache 2.0 license under
+which our projects are published
+[here](https://github.com/ory/meta/blob/master/LICENSE).
+
+Reviewers should leave a "LGTM" comment once they are satisfied with the patch.
+If the patch was submitted by a maintainer with write access, the pull request
+should be merged by the submitter after review.
+
+## Documentation
+
+Please provide documentation when changing, removing, or adding features.
+Documentation resides in the project's
+[docs](https://github.com/ory/dockertest/tree/master/docs) folder. Generate API
+and configuration reference documentation using `cd docs; npm run gen`.
+
+For further instructions please head over to
+[docs/README.md](https://github.com/ory/dockertest/blob/master/README.md).
+
+## Disclosing vulnerabilities
+
+Please disclose vulnerabilities exclusively to
+[security@ory.sh](mailto:security@ory.sh). Do not use GitHub issues.
+
+## Code Style
+
+Please follow these guidelines when formatting source code:
+
+- Go code should match the output of `gofmt -s` and pass `golangci-lint run`.
+- NodeJS and JavaScript code should be prettified using `npm run format` where
+  appropriate.
+
+## Pull request procedure
+
+To make a pull request, you will need a GitHub account; if you are unclear on
+this process, see GitHub's documentation on
+[forking](https://help.github.com/articles/fork-a-repo) and
+[pull requests](https://help.github.com/articles/using-pull-requests). Pull
+requests should be targeted at the `master` branch. Before creating a pull
+request, go through this checklist:
+
+1. Create a feature branch off of `master` so that changes do not get mixed up.
+1. [Rebase](http://git-scm.com/book/en/Git-Branching-Rebasing) your local
+   changes against the `master` branch.
+1. Run the full project test suite with the `go test ./...` (or equivalent)
+   command and confirm that it passes.
+1. Run `gofmt -s` (if the project is written in Go).
+1. Ensure that each commit has a subsystem prefix (ex: `controller:`).
+
+Pull requests will be treated as "review requests," and maintainers will give
+feedback on the style and substance of the patch.
+
+Normally, all pull requests must include tests that test your change.
+Occasionally, a change will be very difficult to test for. In those cases,
+please include a note in your commit message explaining why.
+
+### Working with Forks
+
+```
+# First you clone the original repository
+git clone git@github.com:ory/Dockertest.git
+
+# Next you add a git remote that is your fork:
+git remote add fork git@github.com:<YOUR-GITHUB-USERNAME-HERE>/Dockertest.git
+
+# Next you fetch the latest changes from origin for master:
+git fetch origin
+git checkout master
+git pull --rebase
+
+# Next you create a new feature branch off of master:
+git checkout my-feature-branch
+
+# Now you do your work and commit your changes:
+git add -A
+git commit -a -m "fix: this is the subject line" -m "This is the body line. Closes #123"
+
+# And the last step is pushing this to your fork
+git push -u fork my-feature-branch
+```
+
+Now go to the project's GitHub Pull Request page and click "New pull request"
+
+## Conduct
+
+Whether you are a regular contributor or a newcomer, we care about making this
+community a safe place for you and we've got your back.
+
+- We are committed to providing a friendly, safe and welcoming environment for
+  all, regardless of gender, sexual orientation, disability, ethnicity,
+  religion, or similar personal characteristic.
+- Please avoid using nicknames that might detract from a friendly, safe and
+  welcoming environment for all.
+- Be kind and courteous. There is no need to be mean or rude.
+- We will exclude you from interaction if you insult, demean or harass anyone.
+  In particular, we do not tolerate behavior that excludes people in socially
+  marginalized groups.
+- Private harassment is also unacceptable. No matter who you are, if you feel
+  you have been or are being harassed or made uncomfortable by a community
+  member, please contact one of the channel ops or a member of the ORY
+  Dockertest core team immediately.
+- Likewise any spamming, trolling, flaming, baiting or other attention-stealing
+  behaviour is not welcome.
+
+We welcome discussion about creating a welcoming, safe, and productive
+environment for the community. If you have any questions, feedback, or concerns
+[please let us know](https://www.ory.sh/chat).
diff --git a/vendor/github.com/ory/dockertest/LICENSE b/vendor/github.com/ory/dockertest/v3/LICENSE
similarity index 99%
rename from vendor/github.com/ory/dockertest/LICENSE
rename to vendor/github.com/ory/dockertest/v3/LICENSE
index 1f8f689ce..261eeb9e9 100644
--- a/vendor/github.com/ory/dockertest/LICENSE
+++ b/vendor/github.com/ory/dockertest/v3/LICENSE
@@ -1,4 +1,4 @@
-Apache License
+                                 Apache License
                            Version 2.0, January 2004
                         http://www.apache.org/licenses/
 
@@ -178,7 +178,7 @@ Apache License
    APPENDIX: How to apply the Apache License to your work.
 
       To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "{}"
+      boilerplate notice, with the fields enclosed by brackets "[]"
       replaced with your own identifying information. (Don't include
       the brackets!)  The text should be enclosed in the appropriate
       comment syntax for the file format. We also recommend that a
@@ -186,7 +186,7 @@ Apache License
       same "printed page" as the copyright notice for easier
       identification within third-party archives.
 
-   Copyright 2014 The Camlistore Authors
+   Copyright [yyyy] [name of copyright owner]
 
    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
@@ -199,4 +199,3 @@ Apache License
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
-
diff --git a/vendor/github.com/ory/dockertest/README.md b/vendor/github.com/ory/dockertest/v3/README.md
similarity index 66%
rename from vendor/github.com/ory/dockertest/README.md
rename to vendor/github.com/ory/dockertest/v3/README.md
index 521bc479d..1b458a962 100644
--- a/vendor/github.com/ory/dockertest/README.md
+++ b/vendor/github.com/ory/dockertest/v3/README.md
@@ -35,7 +35,10 @@ Using Dockertest is straightforward and simple. Check the [releases tab](https:/
 for available releases.
 
 To install dockertest, run
-
+```
+go get -u github.com/ory/dockertest/v3
+```
+or
 ```
 dep ensure -add github.com/ory/dockertest@v3.x.y
 ```
@@ -53,7 +56,7 @@ import (
 	"testing"
 
 	_ "github.com/go-sql-driver/mysql"
-	"github.com/ory/dockertest"
+	"github.com/ory/dockertest/v3"
 )
 
 var db *sql.DB
@@ -116,3 +119,69 @@ Sometimes container clean up fails. Check out
 ```go
 resource.Expire(60) // Tell docker to hard kill the container in 60 seconds
 ```
+
+To let stopped containers removed from file system automatically, use `pool.RunWithOptions()` instead of `pool.Run()` with `config.AutoRemove` set to true, e.g.:
+
+```go
+postgres, err := pool.RunWithOptions(&dockertest.RunOptions{
+	Repository: "postgres",
+	Tag:        "11",
+	Env: []string{
+		"POSTGRES_USER=test",
+		"POSTGRES_PASSWORD=test",
+		"listen_addresses = '*'",
+	},
+}, func(config *docker.HostConfig) {
+	// set AutoRemove to true so that stopped container goes away by itself
+	config.AutoRemove = true
+	config.RestartPolicy = docker.RestartPolicy{
+		Name: "no",
+	}
+})
+```
+
+## Running dockertest in Gitlab CI
+ 
+### How to run dockertest on shared gitlab runners?
+
+You should add docker dind service to your job which starts in sibling container. 
+That means database will be available on host `docker`.   
+You app should be able to change db host through environment variable.
+
+Here is the simple example of `gitlab-ci.yml`:
+```yaml
+stages:
+  - test
+go-test:
+  stage: test
+  image: golang:1.15
+  services:
+    - docker:dind
+  variables:
+    DOCKER_HOST: tcp://docker:2375
+    DOCKER_DRIVER: overlay2
+    YOUR_APP_DB_HOST: docker
+  script:
+    - go test ./...
+```
+
+Plus in the `pool.Retry` method that checks for connection readiness,
+ you need to use `$YOUR_APP_DB_HOST` instead of localhost.
+
+### How to run dockertest on group(custom) gitlab runners?
+
+Gitlab runner can be run in docker executor mode to save compatibility with shared runners.    
+Here is the simple register command:
+```shell script
+gitlab-runner register -n \
+ --url https://gitlab.com/ \
+ --registration-token $YOUR_TOKEN \
+ --executor docker \
+ --description "My Docker Runner" \
+ --docker-image "docker:19.03.12" \
+ --docker-privileged
+```
+
+You only need to instruct docker dind to start with disabled tls.  
+Add variable `DOCKER_TLS_CERTDIR: ""` to `gitlab-ci.yml` above.
+It will tell docker daemon to start on 2375 port over http. 
diff --git a/vendor/github.com/ory/dockertest/v3/SECURITY.md b/vendor/github.com/ory/dockertest/v3/SECURITY.md
new file mode 100644
index 000000000..70f1ef4dd
--- /dev/null
+++ b/vendor/github.com/ory/dockertest/v3/SECURITY.md
@@ -0,0 +1,37 @@
+<!--
+
+Thank you for contributing changes to this document! Because we use a central repository
+to synchronize this file across all our repositories, make sure to make your edits
+in the correct file, which you can find here:
+
+https://github.com/ory/meta/blob/master/templates/repository/SECURITY.md
+
+-->
+
+<!-- START doctoc generated TOC please keep comment here to allow auto update -->
+<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
+
+- [Security Policy](#security-policy)
+  - [Supported Versions](#supported-versions)
+  - [Reporting a Vulnerability](#reporting-a-vulnerability)
+
+<!-- END doctoc generated TOC please keep comment here to allow auto update -->
+
+# Security Policy
+
+## Supported Versions
+
+We release patches for security vulnerabilities. Which versions are eligible
+receiving such patches depend on the CVSS v3.0 Rating:
+
+| CVSS v3.0 | Supported Versions                        |
+| --------- | ----------------------------------------- |
+| 9.0-10.0  | Releases within the previous three months |
+| 4.0-8.9   | Most recent release                       |
+
+## Reporting a Vulnerability
+
+Please report (suspected) security vulnerabilities to
+**[security@ory.sh](mailto:security@ory.sh)**. You will receive a response from
+us within 48 hours. If the issue is confirmed, we will release a patch as soon
+as possible depending on complexity but historically within a few days.
diff --git a/vendor/github.com/ory/dockertest/docker/AUTHORS b/vendor/github.com/ory/dockertest/v3/docker/AUTHORS
similarity index 100%
rename from vendor/github.com/ory/dockertest/docker/AUTHORS
rename to vendor/github.com/ory/dockertest/v3/docker/AUTHORS
diff --git a/vendor/github.com/ory/dockertest/docker/DOCKER-LICENSE b/vendor/github.com/ory/dockertest/v3/docker/DOCKER-LICENSE
similarity index 100%
rename from vendor/github.com/ory/dockertest/docker/DOCKER-LICENSE
rename to vendor/github.com/ory/dockertest/v3/docker/DOCKER-LICENSE
diff --git a/vendor/github.com/ory/dockertest/docker/LICENSE b/vendor/github.com/ory/dockertest/v3/docker/LICENSE
similarity index 100%
rename from vendor/github.com/ory/dockertest/docker/LICENSE
rename to vendor/github.com/ory/dockertest/v3/docker/LICENSE
diff --git a/vendor/github.com/ory/dockertest/docker/README.markdown b/vendor/github.com/ory/dockertest/v3/docker/README.markdown
similarity index 100%
rename from vendor/github.com/ory/dockertest/docker/README.markdown
rename to vendor/github.com/ory/dockertest/v3/docker/README.markdown
diff --git a/vendor/github.com/ory/dockertest/docker/auth.go b/vendor/github.com/ory/dockertest/v3/docker/auth.go
similarity index 100%
rename from vendor/github.com/ory/dockertest/docker/auth.go
rename to vendor/github.com/ory/dockertest/v3/docker/auth.go
diff --git a/vendor/github.com/ory/dockertest/docker/change.go b/vendor/github.com/ory/dockertest/v3/docker/change.go
similarity index 100%
rename from vendor/github.com/ory/dockertest/docker/change.go
rename to vendor/github.com/ory/dockertest/v3/docker/change.go
diff --git a/vendor/github.com/ory/dockertest/docker/client.go b/vendor/github.com/ory/dockertest/v3/docker/client.go
similarity index 99%
rename from vendor/github.com/ory/dockertest/docker/client.go
rename to vendor/github.com/ory/dockertest/v3/docker/client.go
index fdfe04f34..4a7e7021a 100644
--- a/vendor/github.com/ory/dockertest/docker/client.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/client.go
@@ -31,10 +31,10 @@ import (
 	"sync/atomic"
 	"time"
 
-	"github.com/ory/dockertest/docker/opts"
-	"github.com/ory/dockertest/docker/pkg/homedir"
-	"github.com/ory/dockertest/docker/pkg/jsonmessage"
-	"github.com/ory/dockertest/docker/pkg/stdcopy"
+	"github.com/ory/dockertest/v3/docker/opts"
+	"github.com/ory/dockertest/v3/docker/pkg/homedir"
+	"github.com/ory/dockertest/v3/docker/pkg/jsonmessage"
+	"github.com/ory/dockertest/v3/docker/pkg/stdcopy"
 )
 
 const (
diff --git a/vendor/github.com/ory/dockertest/docker/client_unix.go b/vendor/github.com/ory/dockertest/v3/docker/client_unix.go
similarity index 100%
rename from vendor/github.com/ory/dockertest/docker/client_unix.go
rename to vendor/github.com/ory/dockertest/v3/docker/client_unix.go
diff --git a/vendor/github.com/ory/dockertest/docker/client_windows.go b/vendor/github.com/ory/dockertest/v3/docker/client_windows.go
similarity index 100%
rename from vendor/github.com/ory/dockertest/docker/client_windows.go
rename to vendor/github.com/ory/dockertest/v3/docker/client_windows.go
diff --git a/vendor/github.com/ory/dockertest/docker/container.go b/vendor/github.com/ory/dockertest/v3/docker/container.go
similarity index 99%
rename from vendor/github.com/ory/dockertest/docker/container.go
rename to vendor/github.com/ory/dockertest/v3/docker/container.go
index e24c9fb2e..7363ecc42 100644
--- a/vendor/github.com/ory/dockertest/docker/container.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/container.go
@@ -52,7 +52,7 @@ type APIMount struct {
 	Driver      string `json:"Driver,omitempty" yaml:"Driver,omitempty" toml:"Driver,omitempty"`
 	Mode        string `json:"Mode,omitempty" yaml:"Mode,omitempty" toml:"Mode,omitempty"`
 	RW          bool   `json:"RW,omitempty" yaml:"RW,omitempty" toml:"RW,omitempty"`
-	Propogation string `json:"Propogation,omitempty" yaml:"Propogation,omitempty" toml:"Propogation,omitempty"`
+	Propagation string `json:"Propagation,omitempty" yaml:"Propagation,omitempty" toml:"Propagation,omitempty"`
 }
 
 // APIContainers represents each container in the list returned by
diff --git a/vendor/github.com/ory/dockertest/docker/distribution.go b/vendor/github.com/ory/dockertest/v3/docker/distribution.go
similarity index 93%
rename from vendor/github.com/ory/dockertest/docker/distribution.go
rename to vendor/github.com/ory/dockertest/v3/docker/distribution.go
index 0df12faae..a211b1929 100644
--- a/vendor/github.com/ory/dockertest/docker/distribution.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/distribution.go
@@ -7,7 +7,7 @@ package docker
 import (
 	"encoding/json"
 
-	"github.com/ory/dockertest/docker/types/registry"
+	"github.com/ory/dockertest/v3/docker/types/registry"
 )
 
 // InspectDistribution returns image digest and platform information by contacting the registry
diff --git a/vendor/github.com/ory/dockertest/docker/env.go b/vendor/github.com/ory/dockertest/v3/docker/env.go
similarity index 100%
rename from vendor/github.com/ory/dockertest/docker/env.go
rename to vendor/github.com/ory/dockertest/v3/docker/env.go
diff --git a/vendor/github.com/ory/dockertest/docker/event.go b/vendor/github.com/ory/dockertest/v3/docker/event.go
similarity index 100%
rename from vendor/github.com/ory/dockertest/docker/event.go
rename to vendor/github.com/ory/dockertest/v3/docker/event.go
diff --git a/vendor/github.com/ory/dockertest/docker/exec.go b/vendor/github.com/ory/dockertest/v3/docker/exec.go
similarity index 100%
rename from vendor/github.com/ory/dockertest/docker/exec.go
rename to vendor/github.com/ory/dockertest/v3/docker/exec.go
diff --git a/vendor/github.com/ory/dockertest/docker/image.go b/vendor/github.com/ory/dockertest/v3/docker/image.go
similarity index 100%
rename from vendor/github.com/ory/dockertest/docker/image.go
rename to vendor/github.com/ory/dockertest/v3/docker/image.go
diff --git a/vendor/github.com/ory/dockertest/docker/misc.go b/vendor/github.com/ory/dockertest/v3/docker/misc.go
similarity index 100%
rename from vendor/github.com/ory/dockertest/docker/misc.go
rename to vendor/github.com/ory/dockertest/v3/docker/misc.go
diff --git a/vendor/github.com/ory/dockertest/docker/network.go b/vendor/github.com/ory/dockertest/v3/docker/network.go
similarity index 100%
rename from vendor/github.com/ory/dockertest/docker/network.go
rename to vendor/github.com/ory/dockertest/v3/docker/network.go
diff --git a/vendor/github.com/ory/dockertest/docker/opts/env.go b/vendor/github.com/ory/dockertest/v3/docker/opts/env.go
similarity index 100%
rename from vendor/github.com/ory/dockertest/docker/opts/env.go
rename to vendor/github.com/ory/dockertest/v3/docker/opts/env.go
diff --git a/vendor/github.com/ory/dockertest/docker/opts/hosts.go b/vendor/github.com/ory/dockertest/v3/docker/opts/hosts.go
similarity index 100%
rename from vendor/github.com/ory/dockertest/docker/opts/hosts.go
rename to vendor/github.com/ory/dockertest/v3/docker/opts/hosts.go
diff --git a/vendor/github.com/ory/dockertest/docker/opts/hosts_unix.go b/vendor/github.com/ory/dockertest/v3/docker/opts/hosts_unix.go
similarity index 100%
rename from vendor/github.com/ory/dockertest/docker/opts/hosts_unix.go
rename to vendor/github.com/ory/dockertest/v3/docker/opts/hosts_unix.go
diff --git a/vendor/github.com/ory/dockertest/docker/opts/hosts_windows.go b/vendor/github.com/ory/dockertest/v3/docker/opts/hosts_windows.go
similarity index 100%
rename from vendor/github.com/ory/dockertest/docker/opts/hosts_windows.go
rename to vendor/github.com/ory/dockertest/v3/docker/opts/hosts_windows.go
diff --git a/vendor/github.com/ory/dockertest/docker/opts/ip.go b/vendor/github.com/ory/dockertest/v3/docker/opts/ip.go
similarity index 100%
rename from vendor/github.com/ory/dockertest/docker/opts/ip.go
rename to vendor/github.com/ory/dockertest/v3/docker/opts/ip.go
diff --git a/vendor/github.com/ory/dockertest/docker/opts/opts.go b/vendor/github.com/ory/dockertest/v3/docker/opts/opts.go
similarity index 100%
rename from vendor/github.com/ory/dockertest/docker/opts/opts.go
rename to vendor/github.com/ory/dockertest/v3/docker/opts/opts.go
diff --git a/vendor/github.com/ory/dockertest/v3/docker/opts/opts_unix.go b/vendor/github.com/ory/dockertest/v3/docker/opts/opts_unix.go
new file mode 100644
index 000000000..8770e3849
--- /dev/null
+++ b/vendor/github.com/ory/dockertest/v3/docker/opts/opts_unix.go
@@ -0,0 +1,22 @@
+// +build !windows
+
+package opts
+
+import (
+	"fmt"
+	"strings"
+
+	"github.com/pkg/errors"
+)
+
+// DefaultHTTPHost Default HTTP Host used if only port is provided to -H flag e.g. dockerd -H tcp://:8080
+const DefaultHTTPHost = "localhost"
+
+// MountParser parses mount path.
+func MountParser(mount string) (source, destination string, err error) {
+	sd := strings.Split(mount, ":")
+	if len(sd) == 2 {
+		return sd[0], sd[1], nil
+	}
+	return "", "", errors.Wrap(fmt.Errorf("invalid mount format: got %s, expected <src>:<dst>", mount), "")
+}
diff --git a/vendor/github.com/ory/dockertest/docker/opts/opts_windows.go b/vendor/github.com/ory/dockertest/v3/docker/opts/opts_windows.go
similarity index 90%
rename from vendor/github.com/ory/dockertest/docker/opts/opts_windows.go
rename to vendor/github.com/ory/dockertest/v3/docker/opts/opts_windows.go
index 98b7251a9..657ab5148 100644
--- a/vendor/github.com/ory/dockertest/docker/opts/opts_windows.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/opts/opts_windows.go
@@ -1,5 +1,12 @@
 package opts
 
+import (
+	"fmt"
+	"strings"
+
+	"github.com/pkg/errors"
+)
+
 // TODO Windows. Identify bug in GOLang 1.5.1+ and/or Windows Server 2016 TP5.
 // @jhowardmsft, @swernli.
 //
@@ -54,3 +61,12 @@ package opts
 
 // DefaultHTTPHost Default HTTP Host used if only port is provided to -H flag e.g. dockerd -H tcp://:8080
 const DefaultHTTPHost = "127.0.0.1"
+
+// MountParser parses mount path.
+func MountParser(mount string) (source, destination string, err error) {
+	sd := strings.Split(mount, ":")
+	if len(sd) == 3 {
+		return sd[0] + sd[1], sd[2], nil
+	}
+	return "", "", errors.Wrap(fmt.Errorf("invalid mount format: got %s, expected <drive>:<src>:<dst>", mount), "")
+}
diff --git a/vendor/github.com/ory/dockertest/docker/opts/quotedstring.go b/vendor/github.com/ory/dockertest/v3/docker/opts/quotedstring.go
similarity index 100%
rename from vendor/github.com/ory/dockertest/docker/opts/quotedstring.go
rename to vendor/github.com/ory/dockertest/v3/docker/opts/quotedstring.go
diff --git a/vendor/github.com/ory/dockertest/docker/opts/runtime.go b/vendor/github.com/ory/dockertest/v3/docker/opts/runtime.go
similarity index 97%
rename from vendor/github.com/ory/dockertest/docker/opts/runtime.go
rename to vendor/github.com/ory/dockertest/v3/docker/opts/runtime.go
index 28f0e8788..513749779 100644
--- a/vendor/github.com/ory/dockertest/docker/opts/runtime.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/opts/runtime.go
@@ -4,7 +4,7 @@ import (
 	"fmt"
 	"strings"
 
-	"github.com/ory/dockertest/docker/types"
+	"github.com/ory/dockertest/v3/docker/types"
 )
 
 // RuntimeOpt defines a map of Runtimes
diff --git a/vendor/github.com/ory/dockertest/docker/opts/ulimit.go b/vendor/github.com/ory/dockertest/v3/docker/opts/ulimit.go
similarity index 100%
rename from vendor/github.com/ory/dockertest/docker/opts/ulimit.go
rename to vendor/github.com/ory/dockertest/v3/docker/opts/ulimit.go
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/archive/README.md b/vendor/github.com/ory/dockertest/v3/docker/pkg/archive/README.md
similarity index 100%
rename from vendor/github.com/ory/dockertest/docker/pkg/archive/README.md
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/archive/README.md
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/archive/archive.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/archive/archive.go
similarity index 99%
rename from vendor/github.com/ory/dockertest/docker/pkg/archive/archive.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/archive/archive.go
index 5aba48785..0d3974d22 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/archive/archive.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/archive/archive.go
@@ -1,4 +1,4 @@
-package archive // import "github.com/ory/dockertest/docker/pkg/archive"
+package archive // import "github.com/ory/dockertest/v3/docker/pkg/archive"
 
 import (
 	"archive/tar"
@@ -18,11 +18,11 @@ import (
 	"strings"
 	"syscall"
 
-	"github.com/ory/dockertest/docker/pkg/fileutils"
-	"github.com/ory/dockertest/docker/pkg/idtools"
-	"github.com/ory/dockertest/docker/pkg/ioutils"
-	"github.com/ory/dockertest/docker/pkg/pools"
-	"github.com/ory/dockertest/docker/pkg/system"
+	"github.com/ory/dockertest/v3/docker/pkg/fileutils"
+	"github.com/ory/dockertest/v3/docker/pkg/idtools"
+	"github.com/ory/dockertest/v3/docker/pkg/ioutils"
+	"github.com/ory/dockertest/v3/docker/pkg/pools"
+	"github.com/ory/dockertest/v3/docker/pkg/system"
 	"github.com/sirupsen/logrus"
 )
 
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/archive/archive_linux.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/archive/archive_linux.go
similarity index 95%
rename from vendor/github.com/ory/dockertest/docker/pkg/archive/archive_linux.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/archive/archive_linux.go
index 1827585b2..8d584b49f 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/archive/archive_linux.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/archive/archive_linux.go
@@ -1,4 +1,4 @@
-package archive // import "github.com/ory/dockertest/docker/pkg/archive"
+package archive // import "github.com/ory/dockertest/v3/docker/pkg/archive"
 
 import (
 	"archive/tar"
@@ -6,7 +6,7 @@ import (
 	"path/filepath"
 	"strings"
 
-	"github.com/ory/dockertest/docker/pkg/system"
+	"github.com/ory/dockertest/v3/docker/pkg/system"
 	"golang.org/x/sys/unix"
 )
 
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/archive/archive_other.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/archive/archive_other.go
similarity index 58%
rename from vendor/github.com/ory/dockertest/docker/pkg/archive/archive_other.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/archive/archive_other.go
index 5a4090697..5057a0a59 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/archive/archive_other.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/archive/archive_other.go
@@ -1,6 +1,6 @@
 // +build !linux
 
-package archive // import "github.com/ory/dockertest/docker/pkg/archive"
+package archive // import "github.com/ory/dockertest/v3/docker/pkg/archive"
 
 func getWhiteoutConverter(format WhiteoutFormat) tarWhiteoutConverter {
 	return nil
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/archive/archive_unix.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/archive/archive_unix.go
similarity index 95%
rename from vendor/github.com/ory/dockertest/docker/pkg/archive/archive_unix.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/archive/archive_unix.go
index 91e9b64b7..ccd921036 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/archive/archive_unix.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/archive/archive_unix.go
@@ -1,6 +1,6 @@
 // +build !windows
 
-package archive // import "github.com/ory/dockertest/docker/pkg/archive"
+package archive // import "github.com/ory/dockertest/v3/docker/pkg/archive"
 
 import (
 	"archive/tar"
@@ -11,8 +11,8 @@ import (
 	"path/filepath"
 	"syscall"
 
-	"github.com/ory/dockertest/docker/pkg/idtools"
-	"github.com/ory/dockertest/docker/pkg/system"
+	"github.com/ory/dockertest/v3/docker/pkg/idtools"
+	"github.com/ory/dockertest/v3/docker/pkg/system"
 	"golang.org/x/sys/unix"
 )
 
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/archive/archive_windows.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/archive/archive_windows.go
similarity index 92%
rename from vendor/github.com/ory/dockertest/docker/pkg/archive/archive_windows.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/archive/archive_windows.go
index d0f41fd5a..5e3b34b3f 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/archive/archive_windows.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/archive/archive_windows.go
@@ -1,4 +1,4 @@
-package archive // import "github.com/ory/dockertest/docker/pkg/archive"
+package archive // import "github.com/ory/dockertest/v3/docker/pkg/archive"
 
 import (
 	"archive/tar"
@@ -7,8 +7,8 @@ import (
 	"path/filepath"
 	"strings"
 
-	"github.com/ory/dockertest/docker/pkg/idtools"
-	"github.com/ory/dockertest/docker/pkg/longpath"
+	"github.com/ory/dockertest/v3/docker/pkg/idtools"
+	"github.com/ory/dockertest/v3/docker/pkg/longpath"
 )
 
 // fixVolumePathPrefix does platform specific processing to ensure that if
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/archive/changes.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/archive/changes.go
similarity index 98%
rename from vendor/github.com/ory/dockertest/docker/pkg/archive/changes.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/archive/changes.go
index 0e0a1a762..15abebc98 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/archive/changes.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/archive/changes.go
@@ -1,4 +1,4 @@
-package archive // import "github.com/ory/dockertest/docker/pkg/archive"
+package archive // import "github.com/ory/dockertest/v3/docker/pkg/archive"
 
 import (
 	"archive/tar"
@@ -13,9 +13,9 @@ import (
 	"syscall"
 	"time"
 
-	"github.com/ory/dockertest/docker/pkg/idtools"
-	"github.com/ory/dockertest/docker/pkg/pools"
-	"github.com/ory/dockertest/docker/pkg/system"
+	"github.com/ory/dockertest/v3/docker/pkg/idtools"
+	"github.com/ory/dockertest/v3/docker/pkg/pools"
+	"github.com/ory/dockertest/v3/docker/pkg/system"
 	"github.com/sirupsen/logrus"
 )
 
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/archive/changes_linux.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/archive/changes_linux.go
similarity index 98%
rename from vendor/github.com/ory/dockertest/docker/pkg/archive/changes_linux.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/archive/changes_linux.go
index 6c6ee1d29..73b90a4c2 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/archive/changes_linux.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/archive/changes_linux.go
@@ -1,4 +1,4 @@
-package archive // import "github.com/ory/dockertest/docker/pkg/archive"
+package archive // import "github.com/ory/dockertest/v3/docker/pkg/archive"
 
 import (
 	"bytes"
@@ -9,7 +9,7 @@ import (
 	"syscall"
 	"unsafe"
 
-	"github.com/ory/dockertest/docker/pkg/system"
+	"github.com/ory/dockertest/v3/docker/pkg/system"
 	"golang.org/x/sys/unix"
 )
 
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/archive/changes_other.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/archive/changes_other.go
similarity index 93%
rename from vendor/github.com/ory/dockertest/docker/pkg/archive/changes_other.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/archive/changes_other.go
index 58a7c5faf..e6ea91b55 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/archive/changes_other.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/archive/changes_other.go
@@ -1,6 +1,6 @@
 // +build !linux
 
-package archive // import "github.com/ory/dockertest/docker/pkg/archive"
+package archive // import "github.com/ory/dockertest/v3/docker/pkg/archive"
 
 import (
 	"fmt"
@@ -9,7 +9,7 @@ import (
 	"runtime"
 	"strings"
 
-	"github.com/ory/dockertest/docker/pkg/system"
+	"github.com/ory/dockertest/v3/docker/pkg/system"
 )
 
 func collectFileInfoForChanges(oldDir, newDir string) (*FileInfo, *FileInfo, error) {
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/archive/changes_unix.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/archive/changes_unix.go
similarity index 87%
rename from vendor/github.com/ory/dockertest/docker/pkg/archive/changes_unix.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/archive/changes_unix.go
index a64960872..11552957f 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/archive/changes_unix.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/archive/changes_unix.go
@@ -1,12 +1,12 @@
 // +build !windows
 
-package archive // import "github.com/ory/dockertest/docker/pkg/archive"
+package archive // import "github.com/ory/dockertest/v3/docker/pkg/archive"
 
 import (
 	"os"
 	"syscall"
 
-	"github.com/ory/dockertest/docker/pkg/system"
+	"github.com/ory/dockertest/v3/docker/pkg/system"
 	"golang.org/x/sys/unix"
 )
 
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/archive/changes_windows.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/archive/changes_windows.go
similarity index 81%
rename from vendor/github.com/ory/dockertest/docker/pkg/archive/changes_windows.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/archive/changes_windows.go
index 497f2e14e..a56c4c1e2 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/archive/changes_windows.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/archive/changes_windows.go
@@ -1,9 +1,9 @@
-package archive // import "github.com/ory/dockertest/docker/pkg/archive"
+package archive // import "github.com/ory/dockertest/v3/docker/pkg/archive"
 
 import (
 	"os"
 
-	"github.com/ory/dockertest/docker/pkg/system"
+	"github.com/ory/dockertest/v3/docker/pkg/system"
 )
 
 func statDifferent(oldStat *system.StatT, newStat *system.StatT) bool {
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/archive/copy.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/archive/copy.go
similarity index 99%
rename from vendor/github.com/ory/dockertest/docker/pkg/archive/copy.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/archive/copy.go
index 8e072c5b6..658b4513f 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/archive/copy.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/archive/copy.go
@@ -1,4 +1,4 @@
-package archive // import "github.com/ory/dockertest/docker/pkg/archive"
+package archive // import "github.com/ory/dockertest/v3/docker/pkg/archive"
 
 import (
 	"archive/tar"
@@ -9,7 +9,7 @@ import (
 	"path/filepath"
 	"strings"
 
-	"github.com/ory/dockertest/docker/pkg/system"
+	"github.com/ory/dockertest/v3/docker/pkg/system"
 	"github.com/sirupsen/logrus"
 )
 
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/archive/copy_unix.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/archive/copy_unix.go
similarity index 62%
rename from vendor/github.com/ory/dockertest/docker/pkg/archive/copy_unix.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/archive/copy_unix.go
index 4f5624ac8..edb3b93c9 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/archive/copy_unix.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/archive/copy_unix.go
@@ -1,6 +1,6 @@
 // +build !windows
 
-package archive // import "github.com/ory/dockertest/docker/pkg/archive"
+package archive // import "github.com/ory/dockertest/v3/docker/pkg/archive"
 
 import (
 	"path/filepath"
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/archive/copy_windows.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/archive/copy_windows.go
similarity index 58%
rename from vendor/github.com/ory/dockertest/docker/pkg/archive/copy_windows.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/archive/copy_windows.go
index 5564f0988..2cc7ea18c 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/archive/copy_windows.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/archive/copy_windows.go
@@ -1,4 +1,4 @@
-package archive // import "github.com/ory/dockertest/docker/pkg/archive"
+package archive // import "github.com/ory/dockertest/v3/docker/pkg/archive"
 
 import (
 	"path/filepath"
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/archive/diff.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/archive/diff.go
similarity index 97%
rename from vendor/github.com/ory/dockertest/docker/pkg/archive/diff.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/archive/diff.go
index cd310dfdf..656c82ee7 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/archive/diff.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/archive/diff.go
@@ -1,4 +1,4 @@
-package archive // import "github.com/ory/dockertest/docker/pkg/archive"
+package archive // import "github.com/ory/dockertest/v3/docker/pkg/archive"
 
 import (
 	"archive/tar"
@@ -10,9 +10,9 @@ import (
 	"runtime"
 	"strings"
 
-	"github.com/ory/dockertest/docker/pkg/idtools"
-	"github.com/ory/dockertest/docker/pkg/pools"
-	"github.com/ory/dockertest/docker/pkg/system"
+	"github.com/ory/dockertest/v3/docker/pkg/idtools"
+	"github.com/ory/dockertest/v3/docker/pkg/pools"
+	"github.com/ory/dockertest/v3/docker/pkg/system"
 	"github.com/sirupsen/logrus"
 )
 
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/archive/time_linux.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/archive/time_linux.go
similarity index 76%
rename from vendor/github.com/ory/dockertest/docker/pkg/archive/time_linux.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/archive/time_linux.go
index 93d75ee3f..99f772bfc 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/archive/time_linux.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/archive/time_linux.go
@@ -1,4 +1,4 @@
-package archive // import "github.com/ory/dockertest/docker/pkg/archive"
+package archive // import "github.com/ory/dockertest/v3/docker/pkg/archive"
 
 import (
 	"syscall"
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/archive/time_unsupported.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/archive/time_unsupported.go
similarity index 73%
rename from vendor/github.com/ory/dockertest/docker/pkg/archive/time_unsupported.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/archive/time_unsupported.go
index 27b79ea8f..58ff92198 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/archive/time_unsupported.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/archive/time_unsupported.go
@@ -1,6 +1,6 @@
 // +build !linux
 
-package archive // import "github.com/ory/dockertest/docker/pkg/archive"
+package archive // import "github.com/ory/dockertest/v3/docker/pkg/archive"
 
 import (
 	"syscall"
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/archive/whiteouts.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/archive/whiteouts.go
similarity index 93%
rename from vendor/github.com/ory/dockertest/docker/pkg/archive/whiteouts.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/archive/whiteouts.go
index 694eba120..3c73d2c27 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/archive/whiteouts.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/archive/whiteouts.go
@@ -1,4 +1,4 @@
-package archive // import "github.com/ory/dockertest/docker/pkg/archive"
+package archive // import "github.com/ory/dockertest/v3/docker/pkg/archive"
 
 // Whiteouts are files with a special meaning for the layered filesystem.
 // Docker uses AUFS whiteout files inside exported archives. In other
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/archive/wrap.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/archive/wrap.go
similarity index 94%
rename from vendor/github.com/ory/dockertest/docker/pkg/archive/wrap.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/archive/wrap.go
index 2d80838da..72d24de69 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/archive/wrap.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/archive/wrap.go
@@ -1,4 +1,4 @@
-package archive // import "github.com/ory/dockertest/docker/pkg/archive"
+package archive // import "github.com/ory/dockertest/v3/docker/pkg/archive"
 
 import (
 	"archive/tar"
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/fileutils/fileutils.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/fileutils/fileutils.go
similarity index 98%
rename from vendor/github.com/ory/dockertest/docker/pkg/fileutils/fileutils.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/fileutils/fileutils.go
index 2ad86e8d5..d8a631b3e 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/fileutils/fileutils.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/fileutils/fileutils.go
@@ -1,4 +1,4 @@
-package fileutils // import "github.com/ory/dockertest/docker/pkg/fileutils"
+package fileutils // import "github.com/ory/dockertest/v3/docker/pkg/fileutils"
 
 import (
 	"errors"
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/fileutils/fileutils_darwin.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/fileutils/fileutils_darwin.go
similarity index 84%
rename from vendor/github.com/ory/dockertest/docker/pkg/fileutils/fileutils_darwin.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/fileutils/fileutils_darwin.go
index b1d9547f1..1a57911c1 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/fileutils/fileutils_darwin.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/fileutils/fileutils_darwin.go
@@ -1,4 +1,4 @@
-package fileutils // import "github.com/ory/dockertest/docker/pkg/fileutils"
+package fileutils // import "github.com/ory/dockertest/v3/docker/pkg/fileutils"
 
 import (
 	"os"
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/fileutils/fileutils_unix.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/fileutils/fileutils_unix.go
similarity index 84%
rename from vendor/github.com/ory/dockertest/docker/pkg/fileutils/fileutils_unix.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/fileutils/fileutils_unix.go
index dba9a197c..0b2ce9770 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/fileutils/fileutils_unix.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/fileutils/fileutils_unix.go
@@ -1,6 +1,6 @@
 // +build linux freebsd
 
-package fileutils // import "github.com/ory/dockertest/docker/pkg/fileutils"
+package fileutils // import "github.com/ory/dockertest/v3/docker/pkg/fileutils"
 
 import (
 	"fmt"
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/fileutils/fileutils_windows.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/fileutils/fileutils_windows.go
similarity index 62%
rename from vendor/github.com/ory/dockertest/docker/pkg/fileutils/fileutils_windows.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/fileutils/fileutils_windows.go
index 313fa619e..0be140862 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/fileutils/fileutils_windows.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/fileutils/fileutils_windows.go
@@ -1,4 +1,4 @@
-package fileutils // import "github.com/ory/dockertest/docker/pkg/fileutils"
+package fileutils // import "github.com/ory/dockertest/v3/docker/pkg/fileutils"
 
 // GetTotalUsedFds Returns the number of used File Descriptors. Not supported
 // on Windows.
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/homedir/homedir_linux.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/homedir/homedir_linux.go
similarity index 81%
rename from vendor/github.com/ory/dockertest/docker/pkg/homedir/homedir_linux.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/homedir/homedir_linux.go
index b3d1baf36..adb5f8be5 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/homedir/homedir_linux.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/homedir/homedir_linux.go
@@ -1,9 +1,9 @@
-package homedir // import "github.com/ory/dockertest/docker/pkg/homedir"
+package homedir // import "github.com/ory/dockertest/v3/docker/pkg/homedir"
 
 import (
 	"os"
 
-	"github.com/ory/dockertest/docker/pkg/idtools"
+	"github.com/ory/dockertest/v3/docker/pkg/idtools"
 )
 
 // GetStatic returns the home directory for the current user without calling
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/homedir/homedir_others.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/homedir/homedir_others.go
similarity index 78%
rename from vendor/github.com/ory/dockertest/docker/pkg/homedir/homedir_others.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/homedir/homedir_others.go
index a0bc93bf9..fd38f9205 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/homedir/homedir_others.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/homedir/homedir_others.go
@@ -1,6 +1,6 @@
 // +build !linux
 
-package homedir // import "github.com/ory/dockertest/docker/pkg/homedir"
+package homedir // import "github.com/ory/dockertest/v3/docker/pkg/homedir"
 
 import (
 	"errors"
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/homedir/homedir_unix.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/homedir/homedir_unix.go
similarity index 90%
rename from vendor/github.com/ory/dockertest/docker/pkg/homedir/homedir_unix.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/homedir/homedir_unix.go
index 65cfebcd1..214c84a1e 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/homedir/homedir_unix.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/homedir/homedir_unix.go
@@ -1,6 +1,6 @@
 // +build !windows
 
-package homedir // import "github.com/ory/dockertest/docker/pkg/homedir"
+package homedir // import "github.com/ory/dockertest/v3/docker/pkg/homedir"
 
 import (
 	"os"
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/homedir/homedir_windows.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/homedir/homedir_windows.go
similarity index 89%
rename from vendor/github.com/ory/dockertest/docker/pkg/homedir/homedir_windows.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/homedir/homedir_windows.go
index 0fda7d602..b1cd7c665 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/homedir/homedir_windows.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/homedir/homedir_windows.go
@@ -1,4 +1,4 @@
-package homedir // import "github.com/ory/dockertest/docker/pkg/homedir"
+package homedir // import "github.com/ory/dockertest/v3/docker/pkg/homedir"
 
 import (
 	"os"
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/idtools/idtools.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/idtools/idtools.go
similarity index 99%
rename from vendor/github.com/ory/dockertest/docker/pkg/idtools/idtools.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/idtools/idtools.go
index bf08340e0..0aad59fd9 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/idtools/idtools.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/idtools/idtools.go
@@ -1,4 +1,4 @@
-package idtools // import "github.com/ory/dockertest/docker/pkg/idtools"
+package idtools // import "github.com/ory/dockertest/v3/docker/pkg/idtools"
 
 import (
 	"bufio"
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/idtools/idtools_unix.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/idtools/idtools_unix.go
similarity index 98%
rename from vendor/github.com/ory/dockertest/docker/pkg/idtools/idtools_unix.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/idtools/idtools_unix.go
index f0719952f..a82f2e937 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/idtools/idtools_unix.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/idtools/idtools_unix.go
@@ -1,6 +1,6 @@
 // +build !windows
 
-package idtools // import "github.com/ory/dockertest/docker/pkg/idtools"
+package idtools // import "github.com/ory/dockertest/v3/docker/pkg/idtools"
 
 import (
 	"bytes"
@@ -12,7 +12,7 @@ import (
 	"sync"
 	"syscall"
 
-	"github.com/ory/dockertest/docker/pkg/system"
+	"github.com/ory/dockertest/v3/docker/pkg/system"
 	"github.com/opencontainers/runc/libcontainer/user"
 )
 
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/idtools/idtools_windows.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/idtools/idtools_windows.go
similarity index 83%
rename from vendor/github.com/ory/dockertest/docker/pkg/idtools/idtools_windows.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/idtools/idtools_windows.go
index bc843fb3d..96ecb1ce1 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/idtools/idtools_windows.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/idtools/idtools_windows.go
@@ -1,9 +1,9 @@
-package idtools // import "github.com/ory/dockertest/docker/pkg/idtools"
+package idtools // import "github.com/ory/dockertest/v3/docker/pkg/idtools"
 
 import (
 	"os"
 
-	"github.com/ory/dockertest/docker/pkg/system"
+	"github.com/ory/dockertest/v3/docker/pkg/system"
 )
 
 // Platforms such as Windows do not support the UID/GID concept. So make this
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/idtools/usergroupadd_linux.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/idtools/usergroupadd_linux.go
similarity index 98%
rename from vendor/github.com/ory/dockertest/docker/pkg/idtools/usergroupadd_linux.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/idtools/usergroupadd_linux.go
index bdd2d2b2f..dc583d94e 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/idtools/usergroupadd_linux.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/idtools/usergroupadd_linux.go
@@ -1,4 +1,4 @@
-package idtools // import "github.com/ory/dockertest/docker/pkg/idtools"
+package idtools // import "github.com/ory/dockertest/v3/docker/pkg/idtools"
 
 import (
 	"fmt"
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/idtools/usergroupadd_unsupported.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/idtools/usergroupadd_unsupported.go
similarity index 83%
rename from vendor/github.com/ory/dockertest/docker/pkg/idtools/usergroupadd_unsupported.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/idtools/usergroupadd_unsupported.go
index 09b6923dd..a9fd16815 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/idtools/usergroupadd_unsupported.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/idtools/usergroupadd_unsupported.go
@@ -1,6 +1,6 @@
 // +build !linux
 
-package idtools // import "github.com/ory/dockertest/docker/pkg/idtools"
+package idtools // import "github.com/ory/dockertest/v3/docker/pkg/idtools"
 
 import "fmt"
 
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/idtools/utils_unix.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/idtools/utils_unix.go
similarity index 90%
rename from vendor/github.com/ory/dockertest/docker/pkg/idtools/utils_unix.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/idtools/utils_unix.go
index b17eef72b..6eb0848b9 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/idtools/utils_unix.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/idtools/utils_unix.go
@@ -1,6 +1,6 @@
 // +build !windows
 
-package idtools // import "github.com/ory/dockertest/docker/pkg/idtools"
+package idtools // import "github.com/ory/dockertest/v3/docker/pkg/idtools"
 
 import (
 	"fmt"
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/ioutils/buffer.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/ioutils/buffer.go
similarity index 91%
rename from vendor/github.com/ory/dockertest/docker/pkg/ioutils/buffer.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/ioutils/buffer.go
index e9e9ace37..8ec65c718 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/ioutils/buffer.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/ioutils/buffer.go
@@ -1,4 +1,4 @@
-package ioutils // import "github.com/ory/dockertest/docker/pkg/ioutils"
+package ioutils // import "github.com/ory/dockertest/v3/docker/pkg/ioutils"
 
 import (
 	"errors"
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/ioutils/bytespipe.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/ioutils/bytespipe.go
similarity index 98%
rename from vendor/github.com/ory/dockertest/docker/pkg/ioutils/bytespipe.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/ioutils/bytespipe.go
index 73d3032cc..ec30e8881 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/ioutils/bytespipe.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/ioutils/bytespipe.go
@@ -1,4 +1,4 @@
-package ioutils // import "github.com/ory/dockertest/docker/pkg/ioutils"
+package ioutils // import "github.com/ory/dockertest/v3/docker/pkg/ioutils"
 
 import (
 	"errors"
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/ioutils/fswriters.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/ioutils/fswriters.go
similarity index 98%
rename from vendor/github.com/ory/dockertest/docker/pkg/ioutils/fswriters.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/ioutils/fswriters.go
index 09bee3c4b..4c08d9dd2 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/ioutils/fswriters.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/ioutils/fswriters.go
@@ -1,4 +1,4 @@
-package ioutils // import "github.com/ory/dockertest/docker/pkg/ioutils"
+package ioutils // import "github.com/ory/dockertest/v3/docker/pkg/ioutils"
 
 import (
 	"io"
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/ioutils/readers.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/ioutils/readers.go
similarity index 97%
rename from vendor/github.com/ory/dockertest/docker/pkg/ioutils/readers.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/ioutils/readers.go
index 6eec9c802..eccf43b33 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/ioutils/readers.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/ioutils/readers.go
@@ -1,4 +1,4 @@
-package ioutils // import "github.com/ory/dockertest/docker/pkg/ioutils"
+package ioutils // import "github.com/ory/dockertest/v3/docker/pkg/ioutils"
 
 import (
 	"crypto/sha256"
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/ioutils/temp_unix.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/ioutils/temp_unix.go
similarity index 71%
rename from vendor/github.com/ory/dockertest/docker/pkg/ioutils/temp_unix.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/ioutils/temp_unix.go
index 3faa457bb..895f5db07 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/ioutils/temp_unix.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/ioutils/temp_unix.go
@@ -1,6 +1,6 @@
 // +build !windows
 
-package ioutils // import "github.com/ory/dockertest/docker/pkg/ioutils"
+package ioutils // import "github.com/ory/dockertest/v3/docker/pkg/ioutils"
 
 import "io/ioutil"
 
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/ioutils/temp_windows.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/ioutils/temp_windows.go
similarity index 70%
rename from vendor/github.com/ory/dockertest/docker/pkg/ioutils/temp_windows.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/ioutils/temp_windows.go
index 9bc3bdb35..2c535d69e 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/ioutils/temp_windows.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/ioutils/temp_windows.go
@@ -1,9 +1,9 @@
-package ioutils // import "github.com/ory/dockertest/docker/pkg/ioutils"
+package ioutils // import "github.com/ory/dockertest/v3/docker/pkg/ioutils"
 
 import (
 	"io/ioutil"
 
-	"github.com/ory/dockertest/docker/pkg/longpath"
+	"github.com/ory/dockertest/v3/docker/pkg/longpath"
 )
 
 // TempDir is the equivalent of ioutil.TempDir, except that the result is in Windows longpath format.
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/ioutils/writeflusher.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/ioutils/writeflusher.go
similarity index 96%
rename from vendor/github.com/ory/dockertest/docker/pkg/ioutils/writeflusher.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/ioutils/writeflusher.go
index 18322d180..997d00561 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/ioutils/writeflusher.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/ioutils/writeflusher.go
@@ -1,4 +1,4 @@
-package ioutils // import "github.com/ory/dockertest/docker/pkg/ioutils"
+package ioutils // import "github.com/ory/dockertest/v3/docker/pkg/ioutils"
 
 import (
 	"io"
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/ioutils/writers.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/ioutils/writers.go
similarity index 94%
rename from vendor/github.com/ory/dockertest/docker/pkg/ioutils/writers.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/ioutils/writers.go
index 552d3ea0b..6d63c90de 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/ioutils/writers.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/ioutils/writers.go
@@ -1,4 +1,4 @@
-package ioutils // import "github.com/ory/dockertest/docker/pkg/ioutils"
+package ioutils // import "github.com/ory/dockertest/v3/docker/pkg/ioutils"
 
 import "io"
 
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/jsonmessage/jsonmessage.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/jsonmessage/jsonmessage.go
similarity index 98%
rename from vendor/github.com/ory/dockertest/docker/pkg/jsonmessage/jsonmessage.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/jsonmessage/jsonmessage.go
index 0a0f322ca..69fce164d 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/jsonmessage/jsonmessage.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/jsonmessage/jsonmessage.go
@@ -1,4 +1,4 @@
-package jsonmessage // import "github.com/ory/dockertest/docker/pkg/jsonmessage"
+package jsonmessage // import "github.com/ory/dockertest/v3/docker/pkg/jsonmessage"
 
 import (
 	"encoding/json"
@@ -9,8 +9,8 @@ import (
 	"time"
 
 	gotty "github.com/Nvveen/Gotty"
-	"github.com/ory/dockertest/docker/pkg/term"
 	units "github.com/docker/go-units"
+	"github.com/moby/term"
 )
 
 // RFC3339NanoFixed is time.RFC3339Nano with nanoseconds padded using zeros to
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/longpath/longpath.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/longpath/longpath.go
similarity index 90%
rename from vendor/github.com/ory/dockertest/docker/pkg/longpath/longpath.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/longpath/longpath.go
index 83146ed64..d3d0a659c 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/longpath/longpath.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/longpath/longpath.go
@@ -2,7 +2,7 @@
 // in Windows, which are expected to be prepended with `\\?\` and followed by either
 // a drive letter, a UNC server\share, or a volume identifier.
 
-package longpath // import "github.com/ory/dockertest/docker/pkg/longpath"
+package longpath // import "github.com/ory/dockertest/v3/docker/pkg/longpath"
 
 import (
 	"strings"
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/mount/flags.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/mount/flags.go
similarity index 98%
rename from vendor/github.com/ory/dockertest/docker/pkg/mount/flags.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/mount/flags.go
index 532493d63..244220969 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/mount/flags.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/mount/flags.go
@@ -1,4 +1,4 @@
-package mount // import "github.com/ory/dockertest/docker/pkg/mount"
+package mount // import "github.com/ory/dockertest/v3/docker/pkg/mount"
 
 import (
 	"fmt"
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/mount/flags_freebsd.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/mount/flags_freebsd.go
similarity index 92%
rename from vendor/github.com/ory/dockertest/docker/pkg/mount/flags_freebsd.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/mount/flags_freebsd.go
index 7ae0cd607..c93582657 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/mount/flags_freebsd.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/mount/flags_freebsd.go
@@ -1,6 +1,6 @@
 // +build freebsd,cgo
 
-package mount // import "github.com/ory/dockertest/docker/pkg/mount"
+package mount // import "github.com/ory/dockertest/v3/docker/pkg/mount"
 
 /*
 #include <sys/mount.h>
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/mount/flags_linux.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/mount/flags_linux.go
similarity index 97%
rename from vendor/github.com/ory/dockertest/docker/pkg/mount/flags_linux.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/mount/flags_linux.go
index 49a0bd34d..315346ddb 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/mount/flags_linux.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/mount/flags_linux.go
@@ -1,4 +1,4 @@
-package mount // import "github.com/ory/dockertest/docker/pkg/mount"
+package mount // import "github.com/ory/dockertest/v3/docker/pkg/mount"
 
 import (
 	"golang.org/x/sys/unix"
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/mount/flags_unsupported.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/mount/flags_unsupported.go
similarity index 87%
rename from vendor/github.com/ory/dockertest/docker/pkg/mount/flags_unsupported.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/mount/flags_unsupported.go
index 53e5911fb..fe03e2c57 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/mount/flags_unsupported.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/mount/flags_unsupported.go
@@ -1,6 +1,6 @@
 // +build !linux,!freebsd freebsd,!cgo
 
-package mount // import "github.com/ory/dockertest/docker/pkg/mount"
+package mount // import "github.com/ory/dockertest/v3/docker/pkg/mount"
 
 // These flags are unsupported.
 const (
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/mount/mount.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/mount/mount.go
similarity index 97%
rename from vendor/github.com/ory/dockertest/docker/pkg/mount/mount.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/mount/mount.go
index 50fcf4dc8..17ad6cf5f 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/mount/mount.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/mount/mount.go
@@ -1,4 +1,4 @@
-package mount // import "github.com/ory/dockertest/docker/pkg/mount"
+package mount // import "github.com/ory/dockertest/v3/docker/pkg/mount"
 
 import (
 	"sort"
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/mount/mounter_freebsd.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/mount/mounter_freebsd.go
similarity index 94%
rename from vendor/github.com/ory/dockertest/docker/pkg/mount/mounter_freebsd.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/mount/mounter_freebsd.go
index a7d351354..4e2a5033c 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/mount/mounter_freebsd.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/mount/mounter_freebsd.go
@@ -1,4 +1,4 @@
-package mount // import "github.com/ory/dockertest/docker/pkg/mount"
+package mount // import "github.com/ory/dockertest/v3/docker/pkg/mount"
 
 /*
 #include <errno.h>
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/mount/mounter_linux.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/mount/mounter_linux.go
similarity index 95%
rename from vendor/github.com/ory/dockertest/docker/pkg/mount/mounter_linux.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/mount/mounter_linux.go
index d72d77427..426eadb10 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/mount/mounter_linux.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/mount/mounter_linux.go
@@ -1,4 +1,4 @@
-package mount // import "github.com/ory/dockertest/docker/pkg/mount"
+package mount // import "github.com/ory/dockertest/v3/docker/pkg/mount"
 
 import (
 	"golang.org/x/sys/unix"
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/mount/mounter_unsupported.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/mount/mounter_unsupported.go
similarity index 75%
rename from vendor/github.com/ory/dockertest/docker/pkg/mount/mounter_unsupported.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/mount/mounter_unsupported.go
index 2194ccfc8..8da9dc2a5 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/mount/mounter_unsupported.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/mount/mounter_unsupported.go
@@ -1,6 +1,6 @@
 // +build !linux,!freebsd freebsd,!cgo
 
-package mount // import "github.com/ory/dockertest/docker/pkg/mount"
+package mount // import "github.com/ory/dockertest/v3/docker/pkg/mount"
 
 func mount(device, target, mType string, flag uintptr, data string) error {
 	panic("Not implemented")
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/mount/mountinfo.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/mount/mountinfo.go
similarity index 93%
rename from vendor/github.com/ory/dockertest/docker/pkg/mount/mountinfo.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/mount/mountinfo.go
index e5a855905..1a3c3aa76 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/mount/mountinfo.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/mount/mountinfo.go
@@ -1,4 +1,4 @@
-package mount // import "github.com/ory/dockertest/docker/pkg/mount"
+package mount // import "github.com/ory/dockertest/v3/docker/pkg/mount"
 
 // Info reveals information about a particular mounted filesystem. This
 // struct is populated from the content in the /proc/<pid>/mountinfo file.
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/mount/mountinfo_freebsd.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/mount/mountinfo_freebsd.go
similarity index 92%
rename from vendor/github.com/ory/dockertest/docker/pkg/mount/mountinfo_freebsd.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/mount/mountinfo_freebsd.go
index 3ebd5f62a..44cfc3a1b 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/mount/mountinfo_freebsd.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/mount/mountinfo_freebsd.go
@@ -1,4 +1,4 @@
-package mount // import "github.com/ory/dockertest/docker/pkg/mount"
+package mount // import "github.com/ory/dockertest/v3/docker/pkg/mount"
 
 /*
 #include <sys/param.h>
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/mount/mountinfo_linux.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/mount/mountinfo_linux.go
similarity index 97%
rename from vendor/github.com/ory/dockertest/docker/pkg/mount/mountinfo_linux.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/mount/mountinfo_linux.go
index cce80d33b..5e3d725a7 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/mount/mountinfo_linux.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/mount/mountinfo_linux.go
@@ -1,4 +1,4 @@
-package mount // import "github.com/ory/dockertest/docker/pkg/mount"
+package mount // import "github.com/ory/dockertest/v3/docker/pkg/mount"
 
 import (
 	"bufio"
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/mount/mountinfo_unsupported.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/mount/mountinfo_unsupported.go
similarity index 76%
rename from vendor/github.com/ory/dockertest/docker/pkg/mount/mountinfo_unsupported.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/mount/mountinfo_unsupported.go
index f683d43e3..cea24bf9c 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/mount/mountinfo_unsupported.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/mount/mountinfo_unsupported.go
@@ -1,6 +1,6 @@
 // +build !windows,!linux,!freebsd freebsd,!cgo
 
-package mount // import "github.com/ory/dockertest/docker/pkg/mount"
+package mount // import "github.com/ory/dockertest/v3/docker/pkg/mount"
 
 import (
 	"fmt"
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/mount/mountinfo_windows.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/mount/mountinfo_windows.go
similarity index 55%
rename from vendor/github.com/ory/dockertest/docker/pkg/mount/mountinfo_windows.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/mount/mountinfo_windows.go
index eed662c1d..cc8506caa 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/mount/mountinfo_windows.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/mount/mountinfo_windows.go
@@ -1,4 +1,4 @@
-package mount // import "github.com/ory/dockertest/docker/pkg/mount"
+package mount // import "github.com/ory/dockertest/v3/docker/pkg/mount"
 
 func parseMountTable() ([]*Info, error) {
 	// Do NOT return an error!
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/mount/sharedsubtree_linux.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/mount/sharedsubtree_linux.go
similarity index 96%
rename from vendor/github.com/ory/dockertest/docker/pkg/mount/sharedsubtree_linux.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/mount/sharedsubtree_linux.go
index 958d4a8d5..2b3376678 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/mount/sharedsubtree_linux.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/mount/sharedsubtree_linux.go
@@ -1,4 +1,4 @@
-package mount // import "github.com/ory/dockertest/docker/pkg/mount"
+package mount // import "github.com/ory/dockertest/v3/docker/pkg/mount"
 
 // MakeShared ensures a mounted filesystem has the SHARED mount option enabled.
 // See the supported options in flags.go for further reference.
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/pools/pools.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/pools/pools.go
similarity index 96%
rename from vendor/github.com/ory/dockertest/docker/pkg/pools/pools.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/pools/pools.go
index 368e1684f..ee72fbba1 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/pools/pools.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/pools/pools.go
@@ -7,14 +7,14 @@
 //
 // Utility functions which operate on pools should be added to this
 // package to allow them to be reused.
-package pools // import "github.com/ory/dockertest/docker/pkg/pools"
+package pools // import "github.com/ory/dockertest/v3/docker/pkg/pools"
 
 import (
 	"bufio"
 	"io"
 	"sync"
 
-	"github.com/ory/dockertest/docker/pkg/ioutils"
+	"github.com/ory/dockertest/v3/docker/pkg/ioutils"
 )
 
 const buffer32K = 32 * 1024
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/stdcopy/stdcopy.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/stdcopy/stdcopy.go
similarity index 98%
rename from vendor/github.com/ory/dockertest/docker/pkg/stdcopy/stdcopy.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/stdcopy/stdcopy.go
index 03cf80573..f6e0916c8 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/stdcopy/stdcopy.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/stdcopy/stdcopy.go
@@ -1,4 +1,4 @@
-package stdcopy // import "github.com/ory/dockertest/docker/pkg/stdcopy"
+package stdcopy // import "github.com/ory/dockertest/v3/docker/pkg/stdcopy"
 
 import (
 	"bytes"
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/system/chtimes.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/chtimes.go
similarity index 90%
rename from vendor/github.com/ory/dockertest/docker/pkg/system/chtimes.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/system/chtimes.go
index f2303f41f..646aeccd5 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/system/chtimes.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/chtimes.go
@@ -1,4 +1,4 @@
-package system // import "github.com/ory/dockertest/docker/pkg/system"
+package system // import "github.com/ory/dockertest/v3/docker/pkg/system"
 
 import (
 	"os"
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/system/chtimes_unix.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/chtimes_unix.go
similarity index 78%
rename from vendor/github.com/ory/dockertest/docker/pkg/system/chtimes_unix.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/system/chtimes_unix.go
index 904d81dd1..fb711f38b 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/system/chtimes_unix.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/chtimes_unix.go
@@ -1,6 +1,6 @@
 // +build !windows
 
-package system // import "github.com/ory/dockertest/docker/pkg/system"
+package system // import "github.com/ory/dockertest/v3/docker/pkg/system"
 
 import (
 	"time"
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/system/chtimes_windows.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/chtimes_windows.go
similarity index 90%
rename from vendor/github.com/ory/dockertest/docker/pkg/system/chtimes_windows.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/system/chtimes_windows.go
index c8ad0a1de..1366d158e 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/system/chtimes_windows.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/chtimes_windows.go
@@ -1,4 +1,4 @@
-package system // import "github.com/ory/dockertest/docker/pkg/system"
+package system // import "github.com/ory/dockertest/v3/docker/pkg/system"
 
 import (
 	"time"
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/system/errors.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/errors.go
similarity index 82%
rename from vendor/github.com/ory/dockertest/docker/pkg/system/errors.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/system/errors.go
index 6c795336a..56d345ef3 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/system/errors.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/errors.go
@@ -1,4 +1,4 @@
-package system // import "github.com/ory/dockertest/docker/pkg/system"
+package system // import "github.com/ory/dockertest/v3/docker/pkg/system"
 
 import (
 	"errors"
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/system/exitcode.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/exitcode.go
similarity index 85%
rename from vendor/github.com/ory/dockertest/docker/pkg/system/exitcode.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/system/exitcode.go
index d7ee535b8..78297419f 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/system/exitcode.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/exitcode.go
@@ -1,4 +1,4 @@
-package system // import "github.com/ory/dockertest/docker/pkg/system"
+package system // import "github.com/ory/dockertest/v3/docker/pkg/system"
 
 import (
 	"fmt"
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/system/filesys.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/filesys.go
similarity index 97%
rename from vendor/github.com/ory/dockertest/docker/pkg/system/filesys.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/system/filesys.go
index c92ac13c0..509985260 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/system/filesys.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/filesys.go
@@ -1,6 +1,6 @@
 // +build !windows
 
-package system // import "github.com/ory/dockertest/docker/pkg/system"
+package system // import "github.com/ory/dockertest/v3/docker/pkg/system"
 
 import (
 	"io/ioutil"
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/system/filesys_windows.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/filesys_windows.go
similarity index 97%
rename from vendor/github.com/ory/dockertest/docker/pkg/system/filesys_windows.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/system/filesys_windows.go
index 58efa580e..edd869c5f 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/system/filesys_windows.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/filesys_windows.go
@@ -1,4 +1,4 @@
-package system // import "github.com/ory/dockertest/docker/pkg/system"
+package system // import "github.com/ory/dockertest/v3/docker/pkg/system"
 
 import (
 	"os"
@@ -11,7 +11,6 @@ import (
 	"time"
 	"unsafe"
 
-	winio "github.com/Microsoft/go-winio"
 	"golang.org/x/sys/windows"
 )
 
@@ -104,13 +103,13 @@ func mkdirall(path string, applyACL bool, sddl string) error {
 // and Local System.
 func mkdirWithACL(name string, sddl string) error {
 	sa := windows.SecurityAttributes{Length: 0}
-	sd, err := winio.SddlToSecurityDescriptor(sddl)
+	sd, err := windows.SecurityDescriptorFromString(sddl)
 	if err != nil {
 		return &os.PathError{Op: "mkdir", Path: name, Err: err}
 	}
 	sa.Length = uint32(unsafe.Sizeof(sa))
 	sa.InheritHandle = 1
-	sa.SecurityDescriptor = uintptr(unsafe.Pointer(&sd[0]))
+	sa.SecurityDescriptor = sd
 
 	namep, err := windows.UTF16PtrFromString(name)
 	if err != nil {
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/system/init.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/init.go
similarity index 83%
rename from vendor/github.com/ory/dockertest/docker/pkg/system/init.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/system/init.go
index cae0bccf3..aac11a529 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/system/init.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/init.go
@@ -1,4 +1,4 @@
-package system // import "github.com/ory/dockertest/docker/pkg/system"
+package system // import "github.com/ory/dockertest/v3/docker/pkg/system"
 
 import (
 	"syscall"
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/system/init_unix.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/init_unix.go
similarity index 61%
rename from vendor/github.com/ory/dockertest/docker/pkg/system/init_unix.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/system/init_unix.go
index 2cf9b9f2a..542a76742 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/system/init_unix.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/init_unix.go
@@ -1,6 +1,6 @@
 // +build !windows
 
-package system // import "github.com/ory/dockertest/docker/pkg/system"
+package system // import "github.com/ory/dockertest/v3/docker/pkg/system"
 
 // InitLCOW does nothing since LCOW is a windows only feature
 func InitLCOW(experimental bool) {
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/system/init_windows.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/init_windows.go
similarity index 78%
rename from vendor/github.com/ory/dockertest/docker/pkg/system/init_windows.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/system/init_windows.go
index 6b360c57b..78e97b822 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/system/init_windows.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/init_windows.go
@@ -1,4 +1,4 @@
-package system // import "github.com/ory/dockertest/docker/pkg/system"
+package system // import "github.com/ory/dockertest/v3/docker/pkg/system"
 
 // lcowSupported determines if Linux Containers on Windows are supported.
 var lcowSupported = false
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/system/lcow.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/lcow.go
similarity index 96%
rename from vendor/github.com/ory/dockertest/docker/pkg/system/lcow.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/system/lcow.go
index 259fc3e55..31fb7437e 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/system/lcow.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/lcow.go
@@ -1,4 +1,4 @@
-package system // import "github.com/ory/dockertest/docker/pkg/system"
+package system // import "github.com/ory/dockertest/v3/docker/pkg/system"
 
 import (
 	"fmt"
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/system/lcow_unix.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/lcow_unix.go
similarity index 65%
rename from vendor/github.com/ory/dockertest/docker/pkg/system/lcow_unix.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/system/lcow_unix.go
index fb01221e2..e3e8248da 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/system/lcow_unix.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/lcow_unix.go
@@ -1,6 +1,6 @@
 // +build !windows
 
-package system // import "github.com/ory/dockertest/docker/pkg/system"
+package system // import "github.com/ory/dockertest/v3/docker/pkg/system"
 
 // LCOWSupported returns true if Linux containers on Windows are supported.
 func LCOWSupported() bool {
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/system/lcow_windows.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/lcow_windows.go
similarity index 63%
rename from vendor/github.com/ory/dockertest/docker/pkg/system/lcow_windows.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/system/lcow_windows.go
index 3652ccbc7..b6bbfde45 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/system/lcow_windows.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/lcow_windows.go
@@ -1,4 +1,4 @@
-package system // import "github.com/ory/dockertest/docker/pkg/system"
+package system // import "github.com/ory/dockertest/v3/docker/pkg/system"
 
 // LCOWSupported returns true if Linux containers on Windows are supported.
 func LCOWSupported() bool {
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/system/lstat_unix.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/lstat_unix.go
similarity index 82%
rename from vendor/github.com/ory/dockertest/docker/pkg/system/lstat_unix.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/system/lstat_unix.go
index b3714c0e7..70fefd347 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/system/lstat_unix.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/lstat_unix.go
@@ -1,6 +1,6 @@
 // +build !windows
 
-package system // import "github.com/ory/dockertest/docker/pkg/system"
+package system // import "github.com/ory/dockertest/v3/docker/pkg/system"
 
 import (
 	"syscall"
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/system/lstat_windows.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/lstat_windows.go
similarity index 78%
rename from vendor/github.com/ory/dockertest/docker/pkg/system/lstat_windows.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/system/lstat_windows.go
index 399736d14..fe72ba139 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/system/lstat_windows.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/lstat_windows.go
@@ -1,4 +1,4 @@
-package system // import "github.com/ory/dockertest/docker/pkg/system"
+package system // import "github.com/ory/dockertest/v3/docker/pkg/system"
 
 import "os"
 
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/system/meminfo.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/meminfo.go
similarity index 83%
rename from vendor/github.com/ory/dockertest/docker/pkg/system/meminfo.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/system/meminfo.go
index 54dd354e4..ad2f4fb11 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/system/meminfo.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/meminfo.go
@@ -1,4 +1,4 @@
-package system // import "github.com/ory/dockertest/docker/pkg/system"
+package system // import "github.com/ory/dockertest/v3/docker/pkg/system"
 
 // MemInfo contains memory statistics of the host system.
 type MemInfo struct {
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/system/meminfo_linux.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/meminfo_linux.go
similarity index 94%
rename from vendor/github.com/ory/dockertest/docker/pkg/system/meminfo_linux.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/system/meminfo_linux.go
index ec3cd39b4..3ebd773a6 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/system/meminfo_linux.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/meminfo_linux.go
@@ -1,4 +1,4 @@
-package system // import "github.com/ory/dockertest/docker/pkg/system"
+package system // import "github.com/ory/dockertest/v3/docker/pkg/system"
 
 import (
 	"bufio"
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/system/meminfo_unsupported.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/meminfo_unsupported.go
similarity index 70%
rename from vendor/github.com/ory/dockertest/docker/pkg/system/meminfo_unsupported.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/system/meminfo_unsupported.go
index b1c159889..f140577d1 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/system/meminfo_unsupported.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/meminfo_unsupported.go
@@ -1,6 +1,6 @@
 // +build !linux,!windows
 
-package system // import "github.com/ory/dockertest/docker/pkg/system"
+package system // import "github.com/ory/dockertest/v3/docker/pkg/system"
 
 // ReadMemInfo is not supported on platforms other than linux and windows.
 func ReadMemInfo() (*MemInfo, error) {
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/system/meminfo_windows.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/meminfo_windows.go
similarity index 93%
rename from vendor/github.com/ory/dockertest/docker/pkg/system/meminfo_windows.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/system/meminfo_windows.go
index 892c7397d..849875f9f 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/system/meminfo_windows.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/meminfo_windows.go
@@ -1,4 +1,4 @@
-package system // import "github.com/ory/dockertest/docker/pkg/system"
+package system // import "github.com/ory/dockertest/v3/docker/pkg/system"
 
 import (
 	"unsafe"
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/system/mknod.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/mknod.go
similarity index 91%
rename from vendor/github.com/ory/dockertest/docker/pkg/system/mknod.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/system/mknod.go
index 157d86a61..cc020a0de 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/system/mknod.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/mknod.go
@@ -1,6 +1,6 @@
 // +build !windows
 
-package system // import "github.com/ory/dockertest/docker/pkg/system"
+package system // import "github.com/ory/dockertest/v3/docker/pkg/system"
 
 import (
 	"golang.org/x/sys/unix"
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/system/mknod_windows.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/mknod_windows.go
similarity index 77%
rename from vendor/github.com/ory/dockertest/docker/pkg/system/mknod_windows.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/system/mknod_windows.go
index 00674d11a..0a694970b 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/system/mknod_windows.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/mknod_windows.go
@@ -1,4 +1,4 @@
-package system // import "github.com/ory/dockertest/docker/pkg/system"
+package system // import "github.com/ory/dockertest/v3/docker/pkg/system"
 
 // Mknod is not implemented on Windows.
 func Mknod(path string, mode uint32, dev int) error {
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/system/path.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/path.go
similarity index 96%
rename from vendor/github.com/ory/dockertest/docker/pkg/system/path.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/system/path.go
index 7c7c0d9ae..4a4c53d18 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/system/path.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/path.go
@@ -1,4 +1,4 @@
-package system // import "github.com/ory/dockertest/docker/pkg/system"
+package system // import "github.com/ory/dockertest/v3/docker/pkg/system"
 
 import (
 	"fmt"
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/system/process_unix.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/process_unix.go
similarity index 84%
rename from vendor/github.com/ory/dockertest/docker/pkg/system/process_unix.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/system/process_unix.go
index 712c20671..7bbbe3208 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/system/process_unix.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/process_unix.go
@@ -1,6 +1,6 @@
 // +build linux freebsd darwin
 
-package system // import "github.com/ory/dockertest/docker/pkg/system"
+package system // import "github.com/ory/dockertest/v3/docker/pkg/system"
 
 import (
 	"syscall"
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/system/process_windows.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/process_windows.go
similarity index 80%
rename from vendor/github.com/ory/dockertest/docker/pkg/system/process_windows.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/system/process_windows.go
index ba91fa9b2..840548482 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/system/process_windows.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/process_windows.go
@@ -1,4 +1,4 @@
-package system // import "github.com/ory/dockertest/docker/pkg/system"
+package system // import "github.com/ory/dockertest/v3/docker/pkg/system"
 
 import "os"
 
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/system/rm.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/rm.go
similarity index 93%
rename from vendor/github.com/ory/dockertest/docker/pkg/system/rm.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/system/rm.go
index 6a4349417..36841b6e1 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/system/rm.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/rm.go
@@ -1,11 +1,11 @@
-package system // import "github.com/ory/dockertest/docker/pkg/system"
+package system // import "github.com/ory/dockertest/v3/docker/pkg/system"
 
 import (
 	"os"
 	"syscall"
 	"time"
 
-	"github.com/ory/dockertest/docker/pkg/mount"
+	"github.com/ory/dockertest/v3/docker/pkg/mount"
 	"github.com/pkg/errors"
 )
 
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/system/stat_darwin.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/stat_darwin.go
similarity index 78%
rename from vendor/github.com/ory/dockertest/docker/pkg/system/stat_darwin.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/system/stat_darwin.go
index 873e3641a..9c1c3bec4 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/system/stat_darwin.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/stat_darwin.go
@@ -1,4 +1,4 @@
-package system // import "github.com/ory/dockertest/docker/pkg/system"
+package system // import "github.com/ory/dockertest/v3/docker/pkg/system"
 
 import "syscall"
 
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/system/stat_freebsd.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/stat_freebsd.go
similarity index 78%
rename from vendor/github.com/ory/dockertest/docker/pkg/system/stat_freebsd.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/system/stat_freebsd.go
index 873e3641a..9c1c3bec4 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/system/stat_freebsd.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/stat_freebsd.go
@@ -1,4 +1,4 @@
-package system // import "github.com/ory/dockertest/docker/pkg/system"
+package system // import "github.com/ory/dockertest/v3/docker/pkg/system"
 
 import "syscall"
 
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/system/stat_linux.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/stat_linux.go
similarity index 86%
rename from vendor/github.com/ory/dockertest/docker/pkg/system/stat_linux.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/system/stat_linux.go
index 2db4ede9d..0fffa55ef 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/system/stat_linux.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/stat_linux.go
@@ -1,4 +1,4 @@
-package system // import "github.com/ory/dockertest/docker/pkg/system"
+package system // import "github.com/ory/dockertest/v3/docker/pkg/system"
 
 import "syscall"
 
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/system/stat_openbsd.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/stat_openbsd.go
similarity index 78%
rename from vendor/github.com/ory/dockertest/docker/pkg/system/stat_openbsd.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/system/stat_openbsd.go
index f2a52fa45..3909fe55c 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/system/stat_openbsd.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/stat_openbsd.go
@@ -1,4 +1,4 @@
-package system // import "github.com/ory/dockertest/docker/pkg/system"
+package system // import "github.com/ory/dockertest/v3/docker/pkg/system"
 
 import "syscall"
 
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/system/stat_solaris.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/stat_solaris.go
similarity index 78%
rename from vendor/github.com/ory/dockertest/docker/pkg/system/stat_solaris.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/system/stat_solaris.go
index f2a52fa45..3909fe55c 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/system/stat_solaris.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/stat_solaris.go
@@ -1,4 +1,4 @@
-package system // import "github.com/ory/dockertest/docker/pkg/system"
+package system // import "github.com/ory/dockertest/v3/docker/pkg/system"
 
 import "syscall"
 
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/system/stat_unix.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/stat_unix.go
similarity index 94%
rename from vendor/github.com/ory/dockertest/docker/pkg/system/stat_unix.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/system/stat_unix.go
index 5e889c1b8..b835b55c8 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/system/stat_unix.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/stat_unix.go
@@ -1,6 +1,6 @@
 // +build !windows
 
-package system // import "github.com/ory/dockertest/docker/pkg/system"
+package system // import "github.com/ory/dockertest/v3/docker/pkg/system"
 
 import (
 	"syscall"
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/system/stat_windows.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/stat_windows.go
similarity index 92%
rename from vendor/github.com/ory/dockertest/docker/pkg/system/stat_windows.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/system/stat_windows.go
index 0c7636baa..159fe493f 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/system/stat_windows.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/stat_windows.go
@@ -1,4 +1,4 @@
-package system // import "github.com/ory/dockertest/docker/pkg/system"
+package system // import "github.com/ory/dockertest/v3/docker/pkg/system"
 
 import (
 	"os"
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/system/syscall_unix.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/syscall_unix.go
similarity index 85%
rename from vendor/github.com/ory/dockertest/docker/pkg/system/syscall_unix.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/system/syscall_unix.go
index fb56c884e..e9734d97c 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/system/syscall_unix.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/syscall_unix.go
@@ -1,6 +1,6 @@
 // +build linux freebsd
 
-package system // import "github.com/ory/dockertest/docker/pkg/system"
+package system // import "github.com/ory/dockertest/v3/docker/pkg/system"
 
 import "golang.org/x/sys/unix"
 
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/system/syscall_windows.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/syscall_windows.go
similarity index 96%
rename from vendor/github.com/ory/dockertest/docker/pkg/system/syscall_windows.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/system/syscall_windows.go
index 745e5ed5e..8f5dce907 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/system/syscall_windows.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/syscall_windows.go
@@ -1,4 +1,4 @@
-package system // import "github.com/ory/dockertest/docker/pkg/system"
+package system // import "github.com/ory/dockertest/v3/docker/pkg/system"
 
 import (
 	"fmt"
@@ -54,6 +54,7 @@ func GetOSVersion() OSVersion {
 	return osv
 }
 
+// ToString returns a textual representation of the version.
 func (osv OSVersion) ToString() string {
 	return fmt.Sprintf("%d.%d.%d", osv.MajorVersion, osv.MinorVersion, osv.Build)
 }
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/system/umask.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/umask.go
similarity index 76%
rename from vendor/github.com/ory/dockertest/docker/pkg/system/umask.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/system/umask.go
index 213bfc9b5..0c0c183f6 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/system/umask.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/umask.go
@@ -1,6 +1,6 @@
 // +build !windows
 
-package system // import "github.com/ory/dockertest/docker/pkg/system"
+package system // import "github.com/ory/dockertest/v3/docker/pkg/system"
 
 import (
 	"golang.org/x/sys/unix"
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/system/umask_windows.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/umask_windows.go
similarity index 71%
rename from vendor/github.com/ory/dockertest/docker/pkg/system/umask_windows.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/system/umask_windows.go
index 9bd689b74..001af7072 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/system/umask_windows.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/umask_windows.go
@@ -1,4 +1,4 @@
-package system // import "github.com/ory/dockertest/docker/pkg/system"
+package system // import "github.com/ory/dockertest/v3/docker/pkg/system"
 
 // Umask is not supported on the windows platform.
 func Umask(newmask int) (oldmask int, err error) {
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/system/utimes_freebsd.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/utimes_freebsd.go
similarity index 88%
rename from vendor/github.com/ory/dockertest/docker/pkg/system/utimes_freebsd.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/system/utimes_freebsd.go
index 89514370a..bffe852b8 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/system/utimes_freebsd.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/utimes_freebsd.go
@@ -1,4 +1,4 @@
-package system // import "github.com/ory/dockertest/docker/pkg/system"
+package system // import "github.com/ory/dockertest/v3/docker/pkg/system"
 
 import (
 	"syscall"
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/system/utimes_linux.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/utimes_linux.go
similarity index 89%
rename from vendor/github.com/ory/dockertest/docker/pkg/system/utimes_linux.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/system/utimes_linux.go
index 8b48addce..841b9c88e 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/system/utimes_linux.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/utimes_linux.go
@@ -1,4 +1,4 @@
-package system // import "github.com/ory/dockertest/docker/pkg/system"
+package system // import "github.com/ory/dockertest/v3/docker/pkg/system"
 
 import (
 	"syscall"
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/system/utimes_unsupported.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/utimes_unsupported.go
similarity index 72%
rename from vendor/github.com/ory/dockertest/docker/pkg/system/utimes_unsupported.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/system/utimes_unsupported.go
index 15f8531c0..3b68e06a0 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/system/utimes_unsupported.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/utimes_unsupported.go
@@ -1,6 +1,6 @@
 // +build !linux,!freebsd
 
-package system // import "github.com/ory/dockertest/docker/pkg/system"
+package system // import "github.com/ory/dockertest/v3/docker/pkg/system"
 
 import "syscall"
 
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/system/xattrs_linux.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/xattrs_linux.go
similarity index 91%
rename from vendor/github.com/ory/dockertest/docker/pkg/system/xattrs_linux.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/system/xattrs_linux.go
index 7c1d84270..1fa01f443 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/system/xattrs_linux.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/xattrs_linux.go
@@ -1,4 +1,4 @@
-package system // import "github.com/ory/dockertest/docker/pkg/system"
+package system // import "github.com/ory/dockertest/v3/docker/pkg/system"
 
 import "golang.org/x/sys/unix"
 
diff --git a/vendor/github.com/ory/dockertest/docker/pkg/system/xattrs_unsupported.go b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/xattrs_unsupported.go
similarity index 82%
rename from vendor/github.com/ory/dockertest/docker/pkg/system/xattrs_unsupported.go
rename to vendor/github.com/ory/dockertest/v3/docker/pkg/system/xattrs_unsupported.go
index 6e24c0fd7..2f949c013 100644
--- a/vendor/github.com/ory/dockertest/docker/pkg/system/xattrs_unsupported.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/pkg/system/xattrs_unsupported.go
@@ -1,6 +1,6 @@
 // +build !linux
 
-package system // import "github.com/ory/dockertest/docker/pkg/system"
+package system // import "github.com/ory/dockertest/v3/docker/pkg/system"
 
 // Lgetxattr is not supported on platforms other than linux.
 func Lgetxattr(path string, attr string) ([]byte, error) {
diff --git a/vendor/github.com/ory/dockertest/docker/plugin.go b/vendor/github.com/ory/dockertest/v3/docker/plugin.go
similarity index 100%
rename from vendor/github.com/ory/dockertest/docker/plugin.go
rename to vendor/github.com/ory/dockertest/v3/docker/plugin.go
diff --git a/vendor/github.com/ory/dockertest/docker/signal.go b/vendor/github.com/ory/dockertest/v3/docker/signal.go
similarity index 100%
rename from vendor/github.com/ory/dockertest/docker/signal.go
rename to vendor/github.com/ory/dockertest/v3/docker/signal.go
diff --git a/vendor/github.com/ory/dockertest/docker/tar.go b/vendor/github.com/ory/dockertest/v3/docker/tar.go
similarity index 96%
rename from vendor/github.com/ory/dockertest/docker/tar.go
rename to vendor/github.com/ory/dockertest/v3/docker/tar.go
index 53d03dab0..cbb24cdd1 100644
--- a/vendor/github.com/ory/dockertest/docker/tar.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/tar.go
@@ -13,8 +13,8 @@ import (
 	"path/filepath"
 	"strings"
 
-	"github.com/ory/dockertest/docker/pkg/archive"
-	"github.com/ory/dockertest/docker/pkg/fileutils"
+	"github.com/ory/dockertest/v3/docker/pkg/archive"
+	"github.com/ory/dockertest/v3/docker/pkg/fileutils"
 )
 
 func createTarStream(srcPath, dockerfilePath string) (io.ReadCloser, error) {
diff --git a/vendor/github.com/ory/dockertest/docker/tls.go b/vendor/github.com/ory/dockertest/v3/docker/tls.go
similarity index 100%
rename from vendor/github.com/ory/dockertest/docker/tls.go
rename to vendor/github.com/ory/dockertest/v3/docker/tls.go
diff --git a/vendor/github.com/ory/dockertest/docker/types/auth.go b/vendor/github.com/ory/dockertest/v3/docker/types/auth.go
similarity index 91%
rename from vendor/github.com/ory/dockertest/docker/types/auth.go
rename to vendor/github.com/ory/dockertest/v3/docker/types/auth.go
index 5429d0ac8..bd3ed27d8 100644
--- a/vendor/github.com/ory/dockertest/docker/types/auth.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/types/auth.go
@@ -1,4 +1,4 @@
-package types // import "github.com/ory/dockertest/docker/types"
+package types // import "github.com/ory/dockertest/v3/docker/types"
 
 // AuthConfig contains authorization information for connecting to a Registry
 type AuthConfig struct {
diff --git a/vendor/github.com/ory/dockertest/docker/types/blkiodev/blkio.go b/vendor/github.com/ory/dockertest/v3/docker/types/blkiodev/blkio.go
similarity index 84%
rename from vendor/github.com/ory/dockertest/docker/types/blkiodev/blkio.go
rename to vendor/github.com/ory/dockertest/v3/docker/types/blkiodev/blkio.go
index 97945760c..0702b8355 100644
--- a/vendor/github.com/ory/dockertest/docker/types/blkiodev/blkio.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/types/blkiodev/blkio.go
@@ -1,4 +1,4 @@
-package blkiodev // import "github.com/ory/dockertest/docker/types/blkiodev"
+package blkiodev // import "github.com/ory/dockertest/v3/docker/types/blkiodev"
 
 import "fmt"
 
diff --git a/vendor/github.com/ory/dockertest/docker/types/client.go b/vendor/github.com/ory/dockertest/v3/docker/types/client.go
similarity index 98%
rename from vendor/github.com/ory/dockertest/docker/types/client.go
rename to vendor/github.com/ory/dockertest/v3/docker/types/client.go
index 94dbd2744..6a44b4f3c 100644
--- a/vendor/github.com/ory/dockertest/docker/types/client.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/types/client.go
@@ -1,12 +1,12 @@
-package types // import "github.com/ory/dockertest/docker/types"
+package types // import "github.com/ory/dockertest/v3/docker/types"
 
 import (
 	"bufio"
 	"io"
 	"net"
 
-	"github.com/ory/dockertest/docker/types/container"
-	"github.com/ory/dockertest/docker/types/filters"
+	"github.com/ory/dockertest/v3/docker/types/container"
+	"github.com/ory/dockertest/v3/docker/types/filters"
 	units "github.com/docker/go-units"
 )
 
diff --git a/vendor/github.com/ory/dockertest/docker/types/configs.go b/vendor/github.com/ory/dockertest/v3/docker/types/configs.go
similarity index 90%
rename from vendor/github.com/ory/dockertest/docker/types/configs.go
rename to vendor/github.com/ory/dockertest/v3/docker/types/configs.go
index e98d5d14a..f125c8bd8 100644
--- a/vendor/github.com/ory/dockertest/docker/types/configs.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/types/configs.go
@@ -1,8 +1,8 @@
-package types // import "github.com/ory/dockertest/docker/types"
+package types // import "github.com/ory/dockertest/v3/docker/types"
 
 import (
-	"github.com/ory/dockertest/docker/types/container"
-	"github.com/ory/dockertest/docker/types/network"
+	"github.com/ory/dockertest/v3/docker/types/container"
+	"github.com/ory/dockertest/v3/docker/types/network"
 )
 
 // configs holds structs used for internal communication between the
diff --git a/vendor/github.com/ory/dockertest/docker/types/container/config.go b/vendor/github.com/ory/dockertest/v3/docker/types/container/config.go
similarity index 96%
rename from vendor/github.com/ory/dockertest/docker/types/container/config.go
rename to vendor/github.com/ory/dockertest/v3/docker/types/container/config.go
index 153000025..e72510a8f 100644
--- a/vendor/github.com/ory/dockertest/docker/types/container/config.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/types/container/config.go
@@ -1,9 +1,9 @@
-package container // import "github.com/ory/dockertest/docker/types/container"
+package container // import "github.com/ory/dockertest/v3/docker/types/container"
 
 import (
 	"time"
 
-	"github.com/ory/dockertest/docker/types/strslice"
+	"github.com/ory/dockertest/v3/docker/types/strslice"
 	"github.com/docker/go-connections/nat"
 )
 
diff --git a/vendor/github.com/ory/dockertest/docker/types/container/container_changes.go b/vendor/github.com/ory/dockertest/v3/docker/types/container/container_changes.go
similarity index 100%
rename from vendor/github.com/ory/dockertest/docker/types/container/container_changes.go
rename to vendor/github.com/ory/dockertest/v3/docker/types/container/container_changes.go
diff --git a/vendor/github.com/ory/dockertest/docker/types/container/container_create.go b/vendor/github.com/ory/dockertest/v3/docker/types/container/container_create.go
similarity index 100%
rename from vendor/github.com/ory/dockertest/docker/types/container/container_create.go
rename to vendor/github.com/ory/dockertest/v3/docker/types/container/container_create.go
diff --git a/vendor/github.com/ory/dockertest/docker/types/container/container_top.go b/vendor/github.com/ory/dockertest/v3/docker/types/container/container_top.go
similarity index 100%
rename from vendor/github.com/ory/dockertest/docker/types/container/container_top.go
rename to vendor/github.com/ory/dockertest/v3/docker/types/container/container_top.go
diff --git a/vendor/github.com/ory/dockertest/docker/types/container/container_update.go b/vendor/github.com/ory/dockertest/v3/docker/types/container/container_update.go
similarity index 100%
rename from vendor/github.com/ory/dockertest/docker/types/container/container_update.go
rename to vendor/github.com/ory/dockertest/v3/docker/types/container/container_update.go
diff --git a/vendor/github.com/ory/dockertest/docker/types/container/container_wait.go b/vendor/github.com/ory/dockertest/v3/docker/types/container/container_wait.go
similarity index 100%
rename from vendor/github.com/ory/dockertest/docker/types/container/container_wait.go
rename to vendor/github.com/ory/dockertest/v3/docker/types/container/container_wait.go
diff --git a/vendor/github.com/ory/dockertest/docker/types/container/host_config.go b/vendor/github.com/ory/dockertest/v3/docker/types/container/host_config.go
similarity index 98%
rename from vendor/github.com/ory/dockertest/docker/types/container/host_config.go
rename to vendor/github.com/ory/dockertest/v3/docker/types/container/host_config.go
index f26dde4d6..84dbc3b90 100644
--- a/vendor/github.com/ory/dockertest/docker/types/container/host_config.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/types/container/host_config.go
@@ -1,11 +1,11 @@
-package container // import "github.com/ory/dockertest/docker/types/container"
+package container // import "github.com/ory/dockertest/v3/docker/types/container"
 
 import (
 	"strings"
 
-	"github.com/ory/dockertest/docker/types/blkiodev"
-	"github.com/ory/dockertest/docker/types/mount"
-	"github.com/ory/dockertest/docker/types/strslice"
+	"github.com/ory/dockertest/v3/docker/types/blkiodev"
+	"github.com/ory/dockertest/v3/docker/types/mount"
+	"github.com/ory/dockertest/v3/docker/types/strslice"
 	"github.com/docker/go-connections/nat"
 	"github.com/docker/go-units"
 )
diff --git a/vendor/github.com/ory/dockertest/docker/types/container/hostconfig_unix.go b/vendor/github.com/ory/dockertest/v3/docker/types/container/hostconfig_unix.go
similarity index 92%
rename from vendor/github.com/ory/dockertest/docker/types/container/hostconfig_unix.go
rename to vendor/github.com/ory/dockertest/v3/docker/types/container/hostconfig_unix.go
index bb4590f83..228646898 100644
--- a/vendor/github.com/ory/dockertest/docker/types/container/hostconfig_unix.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/types/container/hostconfig_unix.go
@@ -1,6 +1,6 @@
 // +build !windows
 
-package container // import "github.com/ory/dockertest/docker/types/container"
+package container // import "github.com/ory/dockertest/v3/docker/types/container"
 
 // IsValid indicates if an isolation technology is valid
 func (i Isolation) IsValid() bool {
diff --git a/vendor/github.com/ory/dockertest/docker/types/container/hostconfig_windows.go b/vendor/github.com/ory/dockertest/v3/docker/types/container/hostconfig_windows.go
similarity index 92%
rename from vendor/github.com/ory/dockertest/docker/types/container/hostconfig_windows.go
rename to vendor/github.com/ory/dockertest/v3/docker/types/container/hostconfig_windows.go
index 41c690b36..1aa7732bb 100644
--- a/vendor/github.com/ory/dockertest/docker/types/container/hostconfig_windows.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/types/container/hostconfig_windows.go
@@ -1,4 +1,4 @@
-package container // import "github.com/ory/dockertest/docker/types/container"
+package container // import "github.com/ory/dockertest/v3/docker/types/container"
 
 // IsBridge indicates whether container uses the bridge network stack
 // in windows it is given the name NAT
diff --git a/vendor/github.com/ory/dockertest/docker/types/container/waitcondition.go b/vendor/github.com/ory/dockertest/v3/docker/types/container/waitcondition.go
similarity index 90%
rename from vendor/github.com/ory/dockertest/docker/types/container/waitcondition.go
rename to vendor/github.com/ory/dockertest/v3/docker/types/container/waitcondition.go
index c75f32cfe..9c99e3450 100644
--- a/vendor/github.com/ory/dockertest/docker/types/container/waitcondition.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/types/container/waitcondition.go
@@ -1,4 +1,4 @@
-package container // import "github.com/ory/dockertest/docker/types/container"
+package container // import "github.com/ory/dockertest/v3/docker/types/container"
 
 // WaitCondition is a type used to specify a container state for which
 // to wait.
diff --git a/vendor/github.com/ory/dockertest/docker/types/error_response.go b/vendor/github.com/ory/dockertest/v3/docker/types/error_response.go
similarity index 100%
rename from vendor/github.com/ory/dockertest/docker/types/error_response.go
rename to vendor/github.com/ory/dockertest/v3/docker/types/error_response.go
diff --git a/vendor/github.com/ory/dockertest/docker/types/filters/parse.go b/vendor/github.com/ory/dockertest/v3/docker/types/filters/parse.go
similarity index 98%
rename from vendor/github.com/ory/dockertest/docker/types/filters/parse.go
rename to vendor/github.com/ory/dockertest/v3/docker/types/filters/parse.go
index 9c96c3db9..293c93d85 100644
--- a/vendor/github.com/ory/dockertest/docker/types/filters/parse.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/types/filters/parse.go
@@ -1,7 +1,7 @@
 /*Package filters provides tools for encoding a mapping of keys to a set of
 multiple values.
 */
-package filters // import "github.com/ory/dockertest/docker/types/filters"
+package filters // import "github.com/ory/dockertest/v3/docker/types/filters"
 
 import (
 	"encoding/json"
@@ -9,7 +9,7 @@ import (
 	"regexp"
 	"strings"
 
-	"github.com/ory/dockertest/docker/types/versions"
+	"github.com/ory/dockertest/v3/docker/types/versions"
 )
 
 // Args stores a mapping of keys to a set of multiple values.
diff --git a/vendor/github.com/ory/dockertest/docker/types/graph_driver_data.go b/vendor/github.com/ory/dockertest/v3/docker/types/graph_driver_data.go
similarity index 100%
rename from vendor/github.com/ory/dockertest/docker/types/graph_driver_data.go
rename to vendor/github.com/ory/dockertest/v3/docker/types/graph_driver_data.go
diff --git a/vendor/github.com/ory/dockertest/docker/types/id_response.go b/vendor/github.com/ory/dockertest/v3/docker/types/id_response.go
similarity index 100%
rename from vendor/github.com/ory/dockertest/docker/types/id_response.go
rename to vendor/github.com/ory/dockertest/v3/docker/types/id_response.go
diff --git a/vendor/github.com/ory/dockertest/docker/types/image_delete_response_item.go b/vendor/github.com/ory/dockertest/v3/docker/types/image_delete_response_item.go
similarity index 100%
rename from vendor/github.com/ory/dockertest/docker/types/image_delete_response_item.go
rename to vendor/github.com/ory/dockertest/v3/docker/types/image_delete_response_item.go
diff --git a/vendor/github.com/ory/dockertest/docker/types/image_summary.go b/vendor/github.com/ory/dockertest/v3/docker/types/image_summary.go
similarity index 100%
rename from vendor/github.com/ory/dockertest/docker/types/image_summary.go
rename to vendor/github.com/ory/dockertest/v3/docker/types/image_summary.go
diff --git a/vendor/github.com/ory/dockertest/docker/types/mount/mount.go b/vendor/github.com/ory/dockertest/v3/docker/types/mount/mount.go
similarity index 98%
rename from vendor/github.com/ory/dockertest/docker/types/mount/mount.go
rename to vendor/github.com/ory/dockertest/v3/docker/types/mount/mount.go
index 5137c8570..450377e28 100644
--- a/vendor/github.com/ory/dockertest/docker/types/mount/mount.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/types/mount/mount.go
@@ -1,4 +1,4 @@
-package mount // import "github.com/ory/dockertest/docker/types/mount"
+package mount // import "github.com/ory/dockertest/v3/docker/types/mount"
 
 import (
 	"os"
diff --git a/vendor/github.com/ory/dockertest/docker/types/network/network.go b/vendor/github.com/ory/dockertest/v3/docker/types/network/network.go
similarity index 97%
rename from vendor/github.com/ory/dockertest/docker/types/network/network.go
rename to vendor/github.com/ory/dockertest/v3/docker/types/network/network.go
index 58689374f..154acdff1 100644
--- a/vendor/github.com/ory/dockertest/docker/types/network/network.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/types/network/network.go
@@ -1,4 +1,4 @@
-package network // import "github.com/ory/dockertest/docker/types/network"
+package network // import "github.com/ory/dockertest/v3/docker/types/network"
 
 // Address represents an IP address
 type Address struct {
diff --git a/vendor/github.com/ory/dockertest/docker/types/plugin.go b/vendor/github.com/ory/dockertest/v3/docker/types/plugin.go
similarity index 100%
rename from vendor/github.com/ory/dockertest/docker/types/plugin.go
rename to vendor/github.com/ory/dockertest/v3/docker/types/plugin.go
diff --git a/vendor/github.com/ory/dockertest/docker/types/plugin_device.go b/vendor/github.com/ory/dockertest/v3/docker/types/plugin_device.go
similarity index 100%
rename from vendor/github.com/ory/dockertest/docker/types/plugin_device.go
rename to vendor/github.com/ory/dockertest/v3/docker/types/plugin_device.go
diff --git a/vendor/github.com/ory/dockertest/docker/types/plugin_env.go b/vendor/github.com/ory/dockertest/v3/docker/types/plugin_env.go
similarity index 100%
rename from vendor/github.com/ory/dockertest/docker/types/plugin_env.go
rename to vendor/github.com/ory/dockertest/v3/docker/types/plugin_env.go
diff --git a/vendor/github.com/ory/dockertest/docker/types/plugin_interface_type.go b/vendor/github.com/ory/dockertest/v3/docker/types/plugin_interface_type.go
similarity index 100%
rename from vendor/github.com/ory/dockertest/docker/types/plugin_interface_type.go
rename to vendor/github.com/ory/dockertest/v3/docker/types/plugin_interface_type.go
diff --git a/vendor/github.com/ory/dockertest/docker/types/plugin_mount.go b/vendor/github.com/ory/dockertest/v3/docker/types/plugin_mount.go
similarity index 100%
rename from vendor/github.com/ory/dockertest/docker/types/plugin_mount.go
rename to vendor/github.com/ory/dockertest/v3/docker/types/plugin_mount.go
diff --git a/vendor/github.com/ory/dockertest/docker/types/plugin_responses.go b/vendor/github.com/ory/dockertest/v3/docker/types/plugin_responses.go
similarity index 96%
rename from vendor/github.com/ory/dockertest/docker/types/plugin_responses.go
rename to vendor/github.com/ory/dockertest/v3/docker/types/plugin_responses.go
index 5fe1945ba..94237b685 100644
--- a/vendor/github.com/ory/dockertest/docker/types/plugin_responses.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/types/plugin_responses.go
@@ -1,4 +1,4 @@
-package types // import "github.com/ory/dockertest/docker/types"
+package types // import "github.com/ory/dockertest/v3/docker/types"
 
 import (
 	"encoding/json"
diff --git a/vendor/github.com/ory/dockertest/docker/types/port.go b/vendor/github.com/ory/dockertest/v3/docker/types/port.go
similarity index 100%
rename from vendor/github.com/ory/dockertest/docker/types/port.go
rename to vendor/github.com/ory/dockertest/v3/docker/types/port.go
diff --git a/vendor/github.com/ory/dockertest/docker/types/registry/authenticate.go b/vendor/github.com/ory/dockertest/v3/docker/types/registry/authenticate.go
similarity index 88%
rename from vendor/github.com/ory/dockertest/docker/types/registry/authenticate.go
rename to vendor/github.com/ory/dockertest/v3/docker/types/registry/authenticate.go
index ae96747cc..6ac4872ea 100644
--- a/vendor/github.com/ory/dockertest/docker/types/registry/authenticate.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/types/registry/authenticate.go
@@ -1,4 +1,4 @@
-package registry // import "github.com/ory/dockertest/docker/types/registry"
+package registry // import "github.com/ory/dockertest/v3/docker/types/registry"
 
 // ----------------------------------------------------------------------------
 // DO NOT EDIT THIS FILE
diff --git a/vendor/github.com/ory/dockertest/docker/types/registry/registry.go b/vendor/github.com/ory/dockertest/v3/docker/types/registry/registry.go
similarity index 97%
rename from vendor/github.com/ory/dockertest/docker/types/registry/registry.go
rename to vendor/github.com/ory/dockertest/v3/docker/types/registry/registry.go
index ac6a367f0..12dae1123 100644
--- a/vendor/github.com/ory/dockertest/docker/types/registry/registry.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/types/registry/registry.go
@@ -1,4 +1,4 @@
-package registry // import "github.com/ory/dockertest/docker/types/registry"
+package registry // import "github.com/ory/dockertest/v3/docker/types/registry"
 
 import (
 	"encoding/json"
diff --git a/vendor/github.com/ory/dockertest/docker/types/seccomp.go b/vendor/github.com/ory/dockertest/v3/docker/types/seccomp.go
similarity index 97%
rename from vendor/github.com/ory/dockertest/docker/types/seccomp.go
rename to vendor/github.com/ory/dockertest/v3/docker/types/seccomp.go
index cd78378cd..f602d6f65 100644
--- a/vendor/github.com/ory/dockertest/docker/types/seccomp.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/types/seccomp.go
@@ -1,4 +1,4 @@
-package types // import "github.com/ory/dockertest/docker/types"
+package types // import "github.com/ory/dockertest/v3/docker/types"
 
 // Seccomp represents the config for a seccomp profile for syscall restriction.
 type Seccomp struct {
diff --git a/vendor/github.com/ory/dockertest/docker/types/service_update_response.go b/vendor/github.com/ory/dockertest/v3/docker/types/service_update_response.go
similarity index 100%
rename from vendor/github.com/ory/dockertest/docker/types/service_update_response.go
rename to vendor/github.com/ory/dockertest/v3/docker/types/service_update_response.go
diff --git a/vendor/github.com/ory/dockertest/docker/types/stats.go b/vendor/github.com/ory/dockertest/v3/docker/types/stats.go
similarity index 99%
rename from vendor/github.com/ory/dockertest/docker/types/stats.go
rename to vendor/github.com/ory/dockertest/v3/docker/types/stats.go
index 8874788e4..c83256675 100644
--- a/vendor/github.com/ory/dockertest/docker/types/stats.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/types/stats.go
@@ -1,6 +1,6 @@
 // Package types is used for API stability in the types and response to the
 // consumers of the API stats endpoint.
-package types // import "github.com/ory/dockertest/docker/types"
+package types // import "github.com/ory/dockertest/v3/docker/types"
 
 import "time"
 
diff --git a/vendor/github.com/ory/dockertest/docker/types/strslice/strslice.go b/vendor/github.com/ory/dockertest/v3/docker/types/strslice/strslice.go
similarity index 90%
rename from vendor/github.com/ory/dockertest/docker/types/strslice/strslice.go
rename to vendor/github.com/ory/dockertest/v3/docker/types/strslice/strslice.go
index 7481eb8f5..81ffb0192 100644
--- a/vendor/github.com/ory/dockertest/docker/types/strslice/strslice.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/types/strslice/strslice.go
@@ -1,4 +1,4 @@
-package strslice // import "github.com/ory/dockertest/docker/types/strslice"
+package strslice // import "github.com/ory/dockertest/v3/docker/types/strslice"
 
 import "encoding/json"
 
diff --git a/vendor/github.com/ory/dockertest/docker/types/types.go b/vendor/github.com/ory/dockertest/v3/docker/types/types.go
similarity index 98%
rename from vendor/github.com/ory/dockertest/docker/types/types.go
rename to vendor/github.com/ory/dockertest/v3/docker/types/types.go
index 79108d601..d3383cd1a 100644
--- a/vendor/github.com/ory/dockertest/docker/types/types.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/types/types.go
@@ -1,4 +1,4 @@
-package types // import "github.com/ory/dockertest/docker/types"
+package types // import "github.com/ory/dockertest/v3/docker/types"
 
 import (
 	"errors"
@@ -8,11 +8,11 @@ import (
 	"strings"
 	"time"
 
-	"github.com/ory/dockertest/docker/types/container"
-	"github.com/ory/dockertest/docker/types/filters"
-	"github.com/ory/dockertest/docker/types/mount"
-	"github.com/ory/dockertest/docker/types/network"
-	"github.com/ory/dockertest/docker/types/registry"
+	"github.com/ory/dockertest/v3/docker/types/container"
+	"github.com/ory/dockertest/v3/docker/types/filters"
+	"github.com/ory/dockertest/v3/docker/types/mount"
+	"github.com/ory/dockertest/v3/docker/types/network"
+	"github.com/ory/dockertest/v3/docker/types/registry"
 	"github.com/docker/go-connections/nat"
 )
 
diff --git a/vendor/github.com/ory/dockertest/docker/types/versions/README.md b/vendor/github.com/ory/dockertest/v3/docker/types/versions/README.md
similarity index 100%
rename from vendor/github.com/ory/dockertest/docker/types/versions/README.md
rename to vendor/github.com/ory/dockertest/v3/docker/types/versions/README.md
diff --git a/vendor/github.com/ory/dockertest/docker/types/versions/compare.go b/vendor/github.com/ory/dockertest/v3/docker/types/versions/compare.go
similarity index 94%
rename from vendor/github.com/ory/dockertest/docker/types/versions/compare.go
rename to vendor/github.com/ory/dockertest/v3/docker/types/versions/compare.go
index 904584d16..0e1b17cab 100644
--- a/vendor/github.com/ory/dockertest/docker/types/versions/compare.go
+++ b/vendor/github.com/ory/dockertest/v3/docker/types/versions/compare.go
@@ -1,4 +1,4 @@
-package versions // import "github.com/ory/dockertest/docker/types/versions"
+package versions // import "github.com/ory/dockertest/v3/docker/types/versions"
 
 import (
 	"strconv"
diff --git a/vendor/github.com/ory/dockertest/docker/types/volume.go b/vendor/github.com/ory/dockertest/v3/docker/types/volume.go
similarity index 100%
rename from vendor/github.com/ory/dockertest/docker/types/volume.go
rename to vendor/github.com/ory/dockertest/v3/docker/types/volume.go
diff --git a/vendor/github.com/ory/dockertest/docker/volume.go b/vendor/github.com/ory/dockertest/v3/docker/volume.go
similarity index 100%
rename from vendor/github.com/ory/dockertest/docker/volume.go
rename to vendor/github.com/ory/dockertest/v3/docker/volume.go
diff --git a/vendor/github.com/ory/dockertest/dockertest.go b/vendor/github.com/ory/dockertest/v3/dockertest.go
similarity index 58%
rename from vendor/github.com/ory/dockertest/dockertest.go
rename to vendor/github.com/ory/dockertest/v3/dockertest.go
index b7b3dd78e..2a515220f 100644
--- a/vendor/github.com/ory/dockertest/dockertest.go
+++ b/vendor/github.com/ory/dockertest/v3/dockertest.go
@@ -2,6 +2,7 @@ package dockertest
 
 import (
 	"fmt"
+	"io"
 	"io/ioutil"
 	"net"
 	"os"
@@ -10,17 +11,33 @@ import (
 	"strings"
 	"time"
 
-	"github.com/cenkalti/backoff"
-	dc "github.com/ory/dockertest/docker"
+	"github.com/cenkalti/backoff/v3"
+	dc "github.com/ory/dockertest/v3/docker"
+	options "github.com/ory/dockertest/v3/docker/opts"
 	"github.com/pkg/errors"
 )
 
+var (
+	ErrNotInContainer = errors.New("not running in container")
+)
+
 // Pool represents a connection to the docker API and is used to create and remove docker images.
 type Pool struct {
 	Client  *dc.Client
 	MaxWait time.Duration
 }
 
+// Network represents a docker network.
+type Network struct {
+	pool    *Pool
+	Network *dc.Network
+}
+
+// Close removes network by calling pool.RemoveNetwork.
+func (n *Network) Close() error {
+	return n.pool.RemoveNetwork(n)
+}
+
 // Resource represents a docker container.
 type Resource struct {
 	pool      *Pool
@@ -29,33 +46,26 @@ type Resource struct {
 
 // GetPort returns a resource's published port. You can use it to connect to the service via localhost, e.g. tcp://localhost:1231/
 func (r *Resource) GetPort(id string) string {
-	if r.Container == nil {
-		return ""
-	} else if r.Container.NetworkSettings == nil {
+	if r.Container == nil || r.Container.NetworkSettings == nil {
 		return ""
 	}
 
 	m, ok := r.Container.NetworkSettings.Ports[dc.Port(id)]
-	if !ok {
-		return ""
-	} else if len(m) == 0 {
+	if !ok || len(m) == 0 {
 		return ""
 	}
 
 	return m[0].HostPort
 }
 
+// GetBoundIP returns a resource's published IP address.
 func (r *Resource) GetBoundIP(id string) string {
-	if r.Container == nil {
-		return ""
-	} else if r.Container.NetworkSettings == nil {
+	if r.Container == nil || r.Container.NetworkSettings == nil {
 		return ""
 	}
 
 	m, ok := r.Container.NetworkSettings.Ports[dc.Port(id)]
-	if !ok {
-		return ""
-	} else if len(m) == 0 {
+	if !ok || len(m) == 0 {
 		return ""
 	}
 
@@ -64,18 +74,15 @@ func (r *Resource) GetBoundIP(id string) string {
 
 // GetHostPort returns a resource's published port with an address.
 func (r *Resource) GetHostPort(portID string) string {
-	if r.Container == nil {
-		return ""
-	} else if r.Container.NetworkSettings == nil {
+	if r.Container == nil || r.Container.NetworkSettings == nil {
 		return ""
 	}
 
 	m, ok := r.Container.NetworkSettings.Ports[dc.Port(portID)]
-	if !ok {
-		return ""
-	} else if len(m) == 0 {
+	if !ok || len(m) == 0 {
 		return ""
 	}
+
 	ip := m[0].HostIP
 	if ip == "0.0.0.0" {
 		ip = "localhost"
@@ -83,6 +90,118 @@ func (r *Resource) GetHostPort(portID string) string {
 	return net.JoinHostPort(ip, m[0].HostPort)
 }
 
+type ExecOptions struct {
+	// Command environment, optional.
+	Env []string
+
+	// StdIn will be attached as command stdin if provided.
+	StdIn io.Reader
+
+	// StdOut will be attached as command stdout if provided.
+	StdOut io.Writer
+
+	// StdErr will be attached as command stdout if provided.
+	StdErr io.Writer
+
+	// Allocate TTY for command or not.
+	TTY bool
+}
+
+// Exec executes command within container.
+func (r *Resource) Exec(cmd []string, opts ExecOptions) (exitCode int, err error) {
+	exec, err := r.pool.Client.CreateExec(dc.CreateExecOptions{
+		Container:    r.Container.ID,
+		Cmd:          cmd,
+		Env:          opts.Env,
+		AttachStderr: opts.StdErr != nil,
+		AttachStdout: opts.StdOut != nil,
+		AttachStdin:  opts.StdIn != nil,
+		Tty:          opts.TTY,
+	})
+	if err != nil {
+		return -1, errors.Wrap(err, "Create exec failed")
+	}
+
+	err = r.pool.Client.StartExec(exec.ID, dc.StartExecOptions{
+		InputStream:  opts.StdIn,
+		OutputStream: opts.StdOut,
+		ErrorStream:  opts.StdErr,
+		Tty:          opts.TTY,
+	})
+	if err != nil {
+		return -1, errors.Wrap(err, "Start exec failed")
+	}
+
+	inspectExec, err := r.pool.Client.InspectExec(exec.ID)
+	if err != nil {
+		return -1, errors.Wrap(err, "Inspect exec failed")
+	}
+
+	return inspectExec.ExitCode, nil
+}
+
+// GetIPInNetwork returns container IP address in network.
+func (r *Resource) GetIPInNetwork(network *Network) string {
+	if r.Container == nil || r.Container.NetworkSettings == nil {
+		return ""
+	}
+
+	netCfg, ok := r.Container.NetworkSettings.Networks[network.Network.Name]
+	if !ok {
+		return ""
+	}
+
+	return netCfg.IPAddress
+}
+
+// ConnectToNetwork connects container to network.
+func (r *Resource) ConnectToNetwork(network *Network) error {
+	err := r.pool.Client.ConnectNetwork(
+		network.Network.ID,
+		dc.NetworkConnectionOptions{Container: r.Container.ID},
+	)
+	if err != nil {
+		return errors.Wrap(err, "Failed to connect container to network")
+	}
+
+	// refresh internal representation
+	r.Container, err = r.pool.Client.InspectContainer(r.Container.ID)
+	if err != nil {
+		return errors.Wrap(err, "Failed to refresh container information")
+	}
+
+	network.Network, err = r.pool.Client.NetworkInfo(network.Network.ID)
+	if err != nil {
+		return errors.Wrap(err, "Failed to refresh network information")
+	}
+
+	return nil
+}
+
+// DisconnectFromNetwork disconnects container from network.
+func (r *Resource) DisconnectFromNetwork(network *Network) error {
+	err := r.pool.Client.DisconnectNetwork(
+		network.Network.ID,
+		dc.NetworkConnectionOptions{Container: r.Container.ID},
+	)
+	if err != nil {
+		return errors.Wrap(err, "Failed to connect container to network")
+	}
+
+	// refresh internal representation
+	r.Container, err = r.pool.Client.InspectContainer(r.Container.ID)
+	if err != nil {
+		return errors.Wrap(err, "Failed to refresh container information")
+	}
+
+	network.Network, err = r.pool.Client.NetworkInfo(network.Network.ID)
+	if err != nil {
+		return errors.Wrap(err, "Failed to refresh network information")
+	}
+
+	return nil
+}
+
 // Close removes a container and linked volumes from docker by calling pool.Purge.
 func (r *Resource) Close() error {
 	return r.pool.Purge(r)
@@ -128,7 +247,8 @@ func NewPool(endpoint string) (*Pool, error) {
 			}
 
 			return &Pool{Client: client}, nil
-		} else if os.Getenv("DOCKER_HOST") != "" {
+		}
+		if os.Getenv("DOCKER_HOST") != "" {
 			endpoint = os.Getenv("DOCKER_HOST")
 		} else if os.Getenv("DOCKER_URL") != "" {
 			endpoint = os.Getenv("DOCKER_URL")
@@ -139,7 +259,7 @@ func NewPool(endpoint string) (*Pool, error) {
 		}
 	}
 
-	if os.Getenv("DOCKER_CERT_PATH") != "" && shouldPreferTls(endpoint) {
+	if os.Getenv("DOCKER_CERT_PATH") != "" && shouldPreferTLS(endpoint) {
 		return NewTLSPool(endpoint, os.Getenv("DOCKER_CERT_PATH"))
 	}
 
@@ -153,7 +273,7 @@ func NewPool(endpoint string) (*Pool, error) {
 	}, nil
 }
 
-func shouldPreferTls(endpoint string) bool {
+func shouldPreferTLS(endpoint string) bool {
 	return !strings.HasPrefix(endpoint, "http://") && !strings.HasPrefix(endpoint, "unix://")
 }
 
@@ -175,6 +295,7 @@ type RunOptions struct {
 	DNS          []string
 	WorkingDir   string
 	NetworkID    string
+	Networks     []*Network // optional networks to join
 	Labels       map[string]string
 	Auth         dc.AuthConfiguration
 	PortBindings map[dc.Port][]dc.PortBinding
@@ -185,6 +306,7 @@ type RunOptions struct {
 type BuildOptions struct {
 	Dockerfile string
 	ContextDir string
+	BuildArgs  []dc.BuildArg
 }
 
 // BuildAndRunWithBuildOptions builds and starts a docker container.
@@ -195,6 +317,7 @@ func (d *Pool) BuildAndRunWithBuildOptions(buildOpts *BuildOptions, runOpts *Run
 		Dockerfile:   buildOpts.Dockerfile,
 		OutputStream: ioutil.Discard,
 		ContextDir:   buildOpts.ContextDir,
+		BuildArgs:    buildOpts.BuildArgs,
 	})
 
 	if err != nil {
@@ -211,11 +334,10 @@ func (d *Pool) BuildAndRunWithBuildOptions(buildOpts *BuildOptions, runOpts *Run
 func (d *Pool) BuildAndRunWithOptions(dockerfilePath string, opts *RunOptions, hcOpts ...func(*dc.HostConfig)) (*Resource, error) {
 	// Set the Dockerfile folder as build context
 	dir, file := filepath.Split(dockerfilePath)
-	buildOpts := BuildOptions{Dockerfile:file, ContextDir:dir}
+	buildOpts := BuildOptions{Dockerfile: file, ContextDir: dir}
 	return d.BuildAndRunWithBuildOptions(&buildOpts, opts, hcOpts...)
 }
 
-
 // BuildAndRun builds and starts a docker container
 func (d *Pool) BuildAndRun(name, dockerfilePath string, env []string) (*Resource, error) {
 	return d.BuildAndRunWithOptions(dockerfilePath, &RunOptions{Name: name, Env: env})
@@ -224,8 +346,8 @@ func (d *Pool) BuildAndRun(name, dockerfilePath string, env []string) (*Resource
 // RunWithOptions starts a docker container.
 // Optional modifier functions can be passed in order to change the hostconfig values not covered in RunOptions
 //
-// pool.Run(&RunOptions{Repository: "mongo", Cmd: []string{"mongod", "--smallfiles"}})
-// pool.Run(&RunOptions{Repository: "mongo", Cmd: []string{"mongod", "--smallfiles"}}, func(hostConfig *dc.HostConfig) {
+//  pool.RunWithOptions(&RunOptions{Repository: "mongo", Cmd: []string{"mongod", "--smallfiles"}})
+//  pool.RunWithOptions(&RunOptions{Repository: "mongo", Cmd: []string{"mongod", "--smallfiles"}}, func(hostConfig *dc.HostConfig) {
 //			hostConfig.ShmSize = shmemsize
 //		})
 func (d *Pool) RunWithOptions(opts *RunOptions, hcOpts ...func(*dc.HostConfig)) (*Resource, error) {
@@ -247,16 +369,15 @@ func (d *Pool) RunWithOptions(opts *RunOptions, hcOpts ...func(*dc.HostConfig))
 	mounts := []dc.Mount{}
 
 	for _, m := range opts.Mounts {
-		sd := strings.Split(m, ":")
-		if len(sd) == 2 {
-			mounts = append(mounts, dc.Mount{
-				Source:      sd[0],
-				Destination: sd[1],
-				RW:          true,
-			})
-		} else {
-			return nil, errors.Wrap(fmt.Errorf("invalid mount format: got %s, expected <src>:<dst>", m), "")
+		s, d, err := options.MountParser(m)
+		if err != nil {
+			return nil, err
 		}
+		mounts = append(mounts, dc.Mount{
+			Source:      s,
+			Destination: d,
+			RW:          true,
+		})
 	}
 
 	if tag == "" {
@@ -269,6 +390,9 @@ func (d *Pool) RunWithOptions(opts *RunOptions, hcOpts ...func(*dc.HostConfig))
 	if opts.NetworkID != "" {
 		networkingConfig.EndpointsConfig[opts.NetworkID] = &dc.EndpointConfig{}
 	}
+	for _, network := range opts.Networks {
+		networkingConfig.EndpointsConfig[network.Network.ID] = &dc.EndpointConfig{}
+	}
 
 	_, err := d.Client.InspectImage(fmt.Sprintf("%s:%s", repository, tag))
 	if err != nil {
@@ -326,6 +450,13 @@ func (d *Pool) RunWithOptions(opts *RunOptions, hcOpts ...func(*dc.HostConfig))
 		return nil, errors.Wrap(err, "")
 	}
 
+	for _, network := range opts.Networks {
+		network.Network, err = d.Client.NetworkInfo(network.Network.ID)
+		if err != nil {
+			return nil, errors.Wrap(err, "")
+		}
+	}
+
 	return &Resource{
 		pool:      d,
 		Container: c,
@@ -334,11 +465,39 @@ func (d *Pool) RunWithOptions(opts *RunOptions, hcOpts ...func(*dc.HostConfig))
 
 // Run starts a docker container.
 //
-// pool.Run("mysql", "5.3", []string{"FOO=BAR", "BAR=BAZ"})
+//  pool.Run("mysql", "5.3", []string{"FOO=BAR", "BAR=BAZ"})
 func (d *Pool) Run(repository, tag string, env []string) (*Resource, error) {
 	return d.RunWithOptions(&RunOptions{Repository: repository, Tag: tag, Env: env})
 }
 
+// ContainerByName finds a container with the given name and returns it if present
+func (d *Pool) ContainerByName(containerName string) (*Resource, bool) {
+	containers, err := d.Client.ListContainers(dc.ListContainersOptions{
+		All: true,
+		Filters: map[string][]string{
+			"name": {containerName},
+		},
+	})
+
+	if err != nil {
+		return nil, false
+	}
+
+	if len(containers) == 0 {
+		return nil, false
+	}
+
+	c, err := d.Client.InspectContainer(containers[0].ID)
+	if err != nil {
+		return nil, false
+	}
+
+	return &Resource{
+		pool:      d,
+		Container: c,
+	}, true
+}
+
 // RemoveContainerByName find a container with the given name and removes it if present
 func (d *Pool) RemoveContainerByName(containerName string) error {
 	containers, err := d.Client.ListContainers(dc.ListContainersOptions{
@@ -386,3 +545,57 @@ func (d *Pool) Retry(op func() error) error {
 	bo.MaxElapsedTime = d.MaxWait
 	return backoff.Retry(op, bo)
 }
+
+// CurrentContainer returns current container descriptor if this function called within running container.
+// It returns ErrNotInContainer as error if this function running not in container.
+func (d *Pool) CurrentContainer() (*Resource, error) {
+	// docker daemon puts short container id into hostname
+	hostname, err := os.Hostname()
+	if err != nil {
+		return nil, errors.Wrap(err, "Get hostname failed")
+	}
+
+	container, err := d.Client.InspectContainer(hostname)
+	switch err.(type) {
+	case nil:
+		return &Resource{
+			pool:      d,
+			Container: container,
+		}, nil
+	case *dc.NoSuchContainer:
+		return nil, ErrNotInContainer
+	default:
+		return nil, errors.Wrap(err, "")
+	}
+}
+
+// CreateNetwork creates docker network. It's useful for linking multiple containers.
+func (d *Pool) CreateNetwork(name string, opts ...func(config *dc.CreateNetworkOptions)) (*Network, error) {
+	var cfg dc.CreateNetworkOptions
+	cfg.Name = name
+	for _, opt := range opts {
+		opt(&cfg)
+	}
+
+	network, err := d.Client.CreateNetwork(cfg)
+	if err != nil {
+		return nil, errors.Wrap(err, "")
+	}
+
+	return &Network{
+		pool:    d,
+		Network: network,
+	}, nil
+}
+
+// RemoveNetwork disconnects containers and removes provided network.
+func (d *Pool) RemoveNetwork(network *Network) error {
+	for container := range network.Network.Containers {
+		_ = d.Client.DisconnectNetwork(
+			network.Network.ID,
+			dc.NetworkConnectionOptions{Container: container, Force: true},
+		)
+	}
+
+	return d.Client.RemoveNetwork(network.Network.ID)
+}
diff --git a/vendor/github.com/ory/dockertest/v3/go.mod b/vendor/github.com/ory/dockertest/v3/go.mod
new file mode 100644
index 000000000..1c53cd7cb
--- /dev/null
+++ b/vendor/github.com/ory/dockertest/v3/go.mod
@@ -0,0 +1,26 @@
+module github.com/ory/dockertest/v3
+
+go 1.13
+
+require (
+	github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78
+	github.com/Microsoft/go-winio v0.4.14
+	github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5
+	github.com/cenkalti/backoff/v3 v3.0.0
+	github.com/containerd/continuity v0.0.0-20190827140505-75bee3e2ccb6
+	github.com/docker/go-connections v0.4.0
+	github.com/docker/go-units v0.4.0
+	github.com/konsorten/go-windows-terminal-sequences v1.0.2 // indirect
+	github.com/lib/pq v0.0.0-20180327071824-d34b9ff171c2
+	github.com/moby/term v0.0.0-20200915141129-7f0af18e79f2
+	github.com/opencontainers/go-digest v1.0.0-rc1 // indirect
+	github.com/opencontainers/image-spec v1.0.1
+	github.com/opencontainers/runc v1.0.0-rc9
+	github.com/pkg/errors v0.9.1
+	github.com/sirupsen/logrus v1.4.2
+	github.com/stretchr/testify v1.4.0
+	golang.org/x/net v0.0.0-20191003171128-d98b1b443823
+	golang.org/x/sys v0.0.0-20200831180312-196b9ba8737a
+	gopkg.in/yaml.v2 v2.2.7 // indirect
+	gotest.tools/v3 v3.0.2
+)
diff --git a/vendor/github.com/ory/dockertest/v3/go.sum b/vendor/github.com/ory/dockertest/v3/go.sum
new file mode 100644
index 000000000..bf5d8f2c2
--- /dev/null
+++ b/vendor/github.com/ory/dockertest/v3/go.sum
@@ -0,0 +1,76 @@
+github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78 h1:w+iIsaOQNcT7OZ575w+acHgRric5iCyQh+xv+KJ4HB8=
+github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8=
+github.com/Microsoft/go-winio v0.4.14 h1:+hMXMk01us9KgxGb7ftKQt2Xpf5hH/yky+TDA+qxleU=
+github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA=
+github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5 h1:TngWCqHvy9oXAN6lEVMRuU21PR1EtLVZJmdB18Gu3Rw=
+github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5/go.mod h1:lmUJ/7eu/Q8D7ML55dXQrVaamCz2vxCfdQBasLZfHKk=
+github.com/cenkalti/backoff/v3 v3.0.0 h1:ske+9nBpD9qZsTBoF41nW5L+AIuFBKMeze18XQ3eG1c=
+github.com/cenkalti/backoff/v3 v3.0.0/go.mod h1:cIeZDE3IrqwwJl6VUwCN6trj1oXrTS4rc0ij+ULvLYs=
+github.com/containerd/continuity v0.0.0-20190827140505-75bee3e2ccb6 h1:NmTXa/uVnDyp0TY5MKi197+3HWcnYWfnHGyaFthlnGw=
+github.com/containerd/continuity v0.0.0-20190827140505-75bee3e2ccb6/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y=
+github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
+github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
+github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
+github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
+github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ=
+github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec=
+github.com/docker/go-units v0.4.0 h1:3uh0PgVws3nIA0Q+MwDC8yjEPf9zjRfZZWXZYDct3Tw=
+github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
+github.com/google/go-cmp v0.3.0 h1:crn/baboCvb5fXaQ0IJ1SGTsTVrWpDsCWC8EGETZijY=
+github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
+github.com/google/go-cmp v0.4.0 h1:xsAVV57WRhGj6kEIi8ReJzQlHHqcBYCElAvkovg3B/4=
+github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
+github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
+github.com/konsorten/go-windows-terminal-sequences v1.0.2 h1:DB17ag19krx9CFsz4o3enTrPXyIXCl+2iCXH/aMAp9s=
+github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
+github.com/lib/pq v0.0.0-20180327071824-d34b9ff171c2 h1:hRGSmZu7j271trc9sneMrpOW7GN5ngLm8YUZIPzf394=
+github.com/lib/pq v0.0.0-20180327071824-d34b9ff171c2/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
+github.com/moby/term v0.0.0-20200915141129-7f0af18e79f2 h1:SPoLlS9qUUnXcIY4pvA4CTwYjk0Is5f4UPEkeESr53k=
+github.com/moby/term v0.0.0-20200915141129-7f0af18e79f2/go.mod h1:TjQg8pa4iejrUrjiz0MCtMV38jdMNW4doKSiBrEvCQQ=
+github.com/opencontainers/go-digest v1.0.0-rc1 h1:WzifXhOVOEOuFYOJAW6aQqW0TooG2iki3E3Ii+WN7gQ=
+github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s=
+github.com/opencontainers/image-spec v1.0.1 h1:JMemWkRwHx4Zj+fVxWoMCFm/8sYGGrUVojFA6h/TRcI=
+github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0=
+github.com/opencontainers/runc v1.0.0-rc9 h1:/k06BMULKF5hidyoZymkoDCzdJzltZpz/UU4LguQVtc=
+github.com/opencontainers/runc v1.0.0-rc9/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U=
+github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I=
+github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
+github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
+github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
+github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
+github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
+github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q=
+github.com/sirupsen/logrus v1.4.2 h1:SPIRibHv4MatM3XXNO2BJeFLZwZ2LvZgfQ5+UNI2im4=
+github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
+github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
+github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
+github.com/stretchr/objx v0.1.1 h1:2vfRuCMp5sSVIDSqO8oNnWJq7mPa6KVP3iPIwFBuy8A=
+github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
+github.com/stretchr/testify v1.2.2 h1:bSDNvY7ZPG5RlJ8otE/7V6gMiyenm9RtJ7IUVIAoJ1w=
+github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
+github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk=
+github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
+golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
+golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
+golang.org/x/net v0.0.0-20191003171128-d98b1b443823 h1:Ypyv6BNJh07T1pUSrehkLemqPKXhus2MkfktJ91kRh4=
+golang.org/x/net v0.0.0-20191003171128-d98b1b443823/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200121082415-34d275377bf9 h1:N19i1HjUnR7TF7rMt8O4p3dLvqvmYyzB6ifMFmrbY50=
+golang.org/x/sys v0.0.0-20200121082415-34d275377bf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200831180312-196b9ba8737a h1:i47hUS795cOydZI4AwJQCKXOr4BvxzvikwDoDtHhP2Y=
+golang.org/x/sys v0.0.0-20200831180312-196b9ba8737a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
+golang.org/x/tools v0.0.0-20190624222133-a101b041ded4/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
+golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
+gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
+gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
+gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw=
+gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
+gopkg.in/yaml.v2 v2.2.7 h1:VUgggvou5XRW9mHwD/yXxIYSMtY0zoKQf/v226p2nyo=
+gopkg.in/yaml.v2 v2.2.7/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
+gotest.tools/v3 v3.0.2 h1:kG1BFyqVHuQoVQiR1bWGnfz/fmHvvuiSPIV7rvl360E=
+gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk=