Description
This issue has been migrated from #13691.
Description
I'm not able to build the docker image and then run it on my windows machine using docker desktop:
git clone https://github.com/matrix-org/synapse.git
git branch -l
* develop
The build:
docker build --no-cache -f docker/Dockerfile -t fred2 .
[+] Building 175.5s (25/25) FINISHED
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 6.72kB 0.0s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 181B 0.0s
=> resolve image config for docker.io/docker/dockerfile:1 1.4s
=> CACHED docker-image://docker.io/docker/dockerfile:1@sha256:9ba7531bd80fb0a858632727cf7a112fbfd19b17e94c4e84ced81e24ef1a0dbc 0.0s
=> [internal] load .dockerignore 0.0s
=> [internal] load build definition from Dockerfile 0.0s
=> [internal] load metadata for docker.io/library/python:3.9-slim 0.8s
=> [internal] load build context 1.1s
=> => transferring context: 7.68MB 1.1s
=> CACHED [stage-2 1/5] FROM docker.io/library/python:3.9-slim@sha256:dcf2eafca55558d8b1aa73edd6aa41b7187c5bcb63e533a7b04a0673f81f37fe 0.0s
=> [requirements 2/6] RUN --mount=type=cache,target=/var/cache/apt,sharing=locked --mount=type=cache,target=/var/lib/apt,sharing=locked apt-get update -qq && apt-get install -yqq build-essential cargo git libff 55.7s
=> [stage-2 2/5] RUN --mount=type=cache,target=/var/cache/apt,sharing=locked --mount=type=cache,target=/var/lib/apt,sharing=locked apt-get update -qq && apt-get install -yqq curl gosu libjpeg62-turbo li 65.3s
=> [builder 2/7] RUN --mount=type=cache,target=/var/cache/apt,sharing=locked --mount=type=cache,target=/var/lib/apt,sharing=locked apt-get update -qq && apt-get install -yqq build-essential libffi-dev libjp 128.9s
=> [requirements 3/6] RUN --mount=type=cache,target=/root/.cache/pip pip install --user "poetry-core==1.1.0a7" "git+https://github.com/python-poetry/poetry.git@fb13b3a676f476177f7937ffa480ee5cff9a90a5" 19.4s
=> [requirements 4/6] WORKDIR /synapse 0.1s
=> [requirements 5/6] COPY pyproject.toml poetry.lock /synapse/ 0.0s
=> [requirements 6/6] RUN if [ -z "$TEST_ONLY_IGNORE_POETRY_LOCKFILE" ]; then /root/.local/bin/poetry export --extras all -o /synapse/requirements.txt ${TEST_ONLY_SKIP_DEP_HASH_VERIFICATION:+--without-hashes}; else to 3.0s
=> [builder 3/7] COPY --from=requirements /synapse/requirements.txt /synapse/ 0.0s
=> [builder 4/7] RUN --mount=type=cache,target=/root/.cache/pip pip install --prefix="/install" --no-deps --no-warn-script-location -r /synapse/requirements.txt 34.6s
=> [builder 5/7] COPY synapse /synapse/synapse/ 0.2s
=> [builder 6/7] COPY pyproject.toml README.rst /synapse/ 0.0s
=> [builder 7/7] RUN if [ -z "$TEST_ONLY_IGNORE_POETRY_LOCKFILE" ]; then pip install --prefix="/install" --no-deps --no-warn-script-location /synapse[all]; else pip install --prefix="/install" --no-warn-script-locatio 5.0s
=> [stage-2 3/5] COPY --from=builder /install /usr/local 2.4s
=> [stage-2 4/5] COPY ./docker/start.py /start.py 0.0s
=> [stage-2 5/5] COPY ./docker/conf /conf 0.0s
=> exporting to image 1.1s
=> => exporting layers 1.0s
=> => writing image sha256:2508ae439a33c1f95b2c39e939c1499fce6ec6e61864d8e354d464c9dfc70fef 0.0s
=> => naming to docker.io/library/fred2
And running the generate
docker run -it --rm --mount type=volume,src=synapse-data,dst=/data -e SYNAPSE_SERVER_NAME=my.matrix.host fred2 generate exec /start.py: no such file or directory
Steps to reproduce
git clone https://github.com/matrix-org/synapse.git
cd synapse
docker build --no-cache -f docker/Dockerfile -t fred2 .
docker run -it --rm --mount type=volume,src=synapse-data,dst=/data -e SYNAPSE_SERVER_NAME=my.matrix.host fred2 generate
Homeserver
does not apply i think
Synapse Version
v1.66.0 / v1.60.0 / v1.56.0
Installation Method
Other (please mention below)
Platform
My docker desktop configuration:
docker version
Client:
Cloud integration: v1.0.28
Version: 20.10.17
API version: 1.41
Go version: go1.17.11
Git commit: 100c701
Built: Mon Jun 6 23:09:02 2022
OS/Arch: windows/amd64
Context: default
Experimental: true
Server: Docker Desktop 4.11.1 (84025)
Engine:
Version: 20.10.17
API version: 1.41 (minimum version 1.12)
Go version: go1.17.11
Git commit: a89b842
Built: Mon Jun 6 23:01:23 2022
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.6.6
GitCommit: 10c12954828e7c7c9b6e0ea9b0c02b01407d3ae1
runc:
Version: 1.1.2
GitCommit: v1.1.2-0-ga916309
docker-init:
Version: 0.19.0
GitCommit: de40ad0
I'm using WSL2 backend in for docker and this is my configuration:
{
"builder": {
"gc": {
"defaultKeepStorage": "20GB",
"enabled": true
}
},
"experimental": false,
"features": {
"buildkit": true
}
}
Relevant log output
docker run -it --rm --mount type=volume,src=synapse-data,dst=/data -e SYNAPSE_SERVER_NAME=my.matrix.host fred2 generate
exec /start.py: no such file or directory
Anything else that would be useful to know?
I can reproduce this on a different Windows machine with similar setup:
- docker desktop
- windows 10
Update: Seems to be a Docker Windows problem because on my linux host it was able to build&execute properly.