SDK 3.2: unable to deploy package to emulator with Docker based build engine

So, what I did:

  • create backup tag of current build docker:
docker tag sailfish-os-build-engine sailfish-os-build-engine:backup
  • create Dockerfile with IP replacement:
FROM sailfish-os-build-engine
RUN sed  's/172.17.0.1/100.64.0.1/' -i /usr/libexec/sdk-setup/dnat-emulators
  • build new image:
docker build --tag sailfish-os-build-engine .
  • kill running container, try sfdk deploy --sdk again… and there is no change (emulator is running).
$ sfdk deploy --sdk
ssh: connect to host 10.220.220.1 port 22: Connection timed out
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: unexplained error (code 255) at io.c(226) [sender=3.1.3]

Firewall in container seems to be updated:

karry@LatitudeMachine:~/SailfishOS/projects/osmscout-sailfish$ docker ps
CONTAINER ID        IMAGE                      COMMAND                  CREATED             STATUS              PORTS                                          NAMES
b812d9f5ec53        sailfish-os-build-engine   "/usr/bin/setarch i3…"   9 seconds ago       Up 3 seconds        0.0.0.0:2222->22/tcp, 0.0.0.0:8080->9292/tcp   sailfish-os-build-engine
karry@LatitudeMachine:~/SailfishOS/projects/osmscout-sailfish$ docker exec -it b812d9f5ec53 /bin/bash
[root@b812d9f5ec53 /]# iptables-save 
# Generated by iptables-save v1.8.2 on Mon Aug 31 07:28:14 2020
*nat
:PREROUTING ACCEPT [17:4478]
:INPUT ACCEPT [5:300]
:OUTPUT ACCEPT [19:1192]
:POSTROUTING ACCEPT [21:1312]
-A OUTPUT -d 10.220.220.1/32 -p tcp -m tcp --dport 22 -j DNAT --to-destination 100.64.0.1:2223
-A OUTPUT -d 10.220.220.2/32 -p tcp -m tcp --dport 22 -j DNAT --to-destination 100.64.0.1:2224
-A OUTPUT -d 10.220.220.3/32 -p tcp -m tcp --dport 22 -j DNAT --to-destination 100.64.0.1:2225
-A OUTPUT -d 10.220.220.4/32 -p tcp -m tcp --dport 22 -j DNAT --to-destination 100.64.0.1:2226
-A OUTPUT -d 10.220.220.5/32 -p tcp -m tcp --dport 22 -j DNAT --to-destination 100.64.0.1:2227
-A OUTPUT -d 10.220.220.6/32 -p tcp -m tcp --dport 22 -j DNAT --to-destination 100.64.0.1:2228
-A OUTPUT -d 10.220.220.7/32 -p tcp -m tcp --dport 22 -j DNAT --to-destination 100.64.0.1:2229
-A OUTPUT -d 10.220.220.8/32 -p tcp -m tcp --dport 22 -j DNAT --to-destination 100.64.0.1:2230
-A OUTPUT -d 10.220.220.9/32 -p tcp -m tcp --dport 22 -j DNAT --to-destination 100.64.0.1:2231
-A OUTPUT -d 10.220.220.10/32 -p tcp -m tcp --dport 22 -j DNAT --to-destination 100.64.0.1:2232
COMMIT
# Completed on Mon Aug 31 07:28:14 2020

Should not be emulator address 10.220.220.1 reachable from the host? It is not :frowning: