docker / roadmap

Welcome to the Public Roadmap for All Things Docker! We welcome your ideas.
https://github.com/orgs/docker/projects/51
Creative Commons Zero v1.0 Universal
1.74k stars 257 forks source link

[Docker Desktop for Mac] - Support for running x86-64 binaries with Rosetta 2 #384

Open christophermclellan opened 2 years ago

christophermclellan commented 2 years ago

Tell us about your request Support Rosetta 2 for running x86-64 Linux binaries on Apple Silicon

Which service(s) is this request for? Docker Desktop for Mac

Tell us about the problem you're trying to solve. What are you trying to do, and why is it hard? Ensure that users can run their Intel-based workloads on Apple Silicon, using Rosetta 2

Are you currently working around the issue? Docker Desktop users can currently use QEMU for this

CameronDevine commented 1 year ago

Does the Rosetta beta feature need to be enabled in some way?

pavankjadda commented 1 year ago

Hi all, thanks for your patience on this one. We'll be releasing Rosetta for x86/amd64 emulation on Apple Silicon as a beta feature in the v4.16 release of Docker Desktop, which is scheduled for this Thursday 12-January. I'll circle back here once it's out !

I just downloaded the beta. However my container fails with same error as before. Is there something we should do?

Never mind. I see it after restarting installing macOS 13. And yes you should be using macOS 13 to see this feature

Screenshot 2023-01-12 at 2 09 26 PM
schmitch commented 1 year ago

the only thin gwhich is wierd now, is that it always prints: image "IMAGENAME": already exists and has a exit code of non zero (even if the image does not exist (system prune --all --force)

sadbox commented 1 year ago

the only thin gwhich is wierd now, is that it always prints: image "IMAGENAME": already exists and has a exit code of non zero (even if the image does not exist (system prune --all --force)

this seems to be from enabling "Use containerd for pulling and storing images" rather than Rosetta

schmitch commented 1 year ago

I've also find two things which are inconvienient:

  1. there is probably no way to know if the process is running under rosetta, at least I could not yet find one :/ (c or rust code) (uname returns x86_64)
  2. there is no easy way to run a container as platform/aarch64 and use rosetta inside the container on runtime i.e. to run a container which contains a cross compiled executable, because that would make some things easier
jjimenez commented 1 year ago

this is more an oracle problem than a docker problem, but I'm hoping someone else is trying this and might have some hints for me. if I startup colima and run

docker run -d --name oracle_db -e ORACLE_PWD=testing container-registry.oracle.com/database/express:21.3.0-xe

i get a happy oracle container in my colima context (slow, but happy)

if I stop colima and run

docker run -d --name oracle_db -e ORACLE_PWD=testing  --platform linux/amd64 container-registry.oracle.com/database/express:21.3.0-xe

I get a sad container in my docker desktop context with logs that start with

Password: su: Authentication failure
The Oracle base remains unchanged with value /opt/oracle

Anyone figure this out yet? (updated to format code blocks better)

mixmind commented 1 year ago

I have installed a new version of docker, and enabled rosetta support and struggling issue with the running container inside the container. Maybe someone knows how to handle it?

docker: failed to register layer: Error processing tar file(exit status 1): "dockerd" accepts no argument(s). See 'dockerd --help'. Usage: dockerd [OPTIONS] A self-sufficient runtime for containers. . See 'docker run --help'.

Screenshot 2023-01-13 at 1 14 08
Finn-Ko commented 1 year ago

Is there a possibility to only enable this new feature for selected containers? I need to use two seperate containers, one only runs with the Rosetta support enabled, the other one only when it's disabled.

ianjukes commented 1 year ago

@Finn-Ko:

docker run --rm -ti --platform linux/amd64 ubuntu:latest uname -m docker run --rm -ti --platform linux/arm64 ubuntu:latest uname -m

*edited to make more sense 😊

sadbox commented 1 year ago

Is there a possibility to only enable this new feature for selected containers? I need to use two seperate containers, one only runs with the Rosetta support enabled, the other one only when it's disabled.

Under the hood it's the same VM, it just tells the kernel to use rosetta if you're executing an x86 binary vs. an arm one. Previously it used qemu to handle x86 execution, which is obviously much slower. But there's no per-container switch.

sadbox commented 1 year ago

I've also find two things which are inconvienient:

  1. there is probably no way to know if the process is running under rosetta, at least I could not yet find one :/ (c or rust code) (uname returns x86_64)

I spent way too long on this, and I didn't find a satisfactory answer. I thought maybe I'd find something under getauxvalue(3) but AT_EXECFN is just the binary itself.

  1. there is no easy way to run a container as platform/aarch64 and use rosetta inside the container on runtime i.e. to run a container which contains a cross compiled executable, because that would make some things easier

This works as it is, since the interpreter is set at the VM level for docker desktop, you can run a mix of x86 and arm binaries and the kernel will figure out how to execute each.

Example from inside a "arm" container:

root@f6f8db7a56a0:/goapp# file /printargs.x86
/printargs.x86: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, Go BuildID=OrTCnnsN_UM38QwvzfzI/s0YjdI-iqQNw9tjhWIkR/bFxwjofdrubDX0hn74EL/a5QyJ72DpzJxJyXSeUbw, with debug_info, not stripped
root@f6f8db7a56a0:/goapp# file /printargs
/printargs: ELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), statically linked, Go BuildID=KQugIUIrijXPtHm2Ouou/ncoEQnisy-iK42OoTfAL/xvIOc-s5VuwXiyY6JVww/C6T97DouAAl4L_Ehkcoh, with debug_info, not stripped
root@f6f8db7a56a0:/goapp# /printargs
Hello!
root@f6f8db7a56a0:/goapp# /printargs.x86
Hello!
JackEllis commented 1 year ago

@christophermclellan Huge thanks to you and your team. I'm running SingleStore locally on my M1 Air and the speed has improved an unbelievable amount thanks to this change. Now time to leave Docker on overnight with my laptop unplugged to see if there's improvement there :)

Finn-Ko commented 1 year ago

@Finn-Ko:

docker run --rm -ti --platform linux/amd64 ubuntu:latest uname -m docker run --rm -ti --platform linux/arm64 ubuntu:latest uname -m

*edited to make more sense 😊

Thanks for the reply! Problem is that my second image is also amd64 native and used to work with the qemu emulation. It doesn't work with the rosetta emulation. setting the --platform linux/amd64 flag when running it results in:

docker: Error response from daemon: image with reference 
[...] was found but does not match the specified platform: wanted linux/arm64, actual: linux/amd64.
See 'docker run --help'.
Sangeppato commented 1 year ago

@christophermclellan Thank you for the update.

It looks like enabling Rosetta introduces some performance penalties, so I would kindly ask you to leave a checkbox to disable/enable Rosetta even when this feature will reach a stable state.

ianjukes commented 1 year ago

Thanks for the reply! Problem is that my second image is also amd64 native and used to work with the qemu emulation. It doesn't work with the rosetta emulation. setting the --platform linux/amd64 flag when running it results in:

docker: Error response from daemon: image with reference 
[...] was found but does not match the specified platform: wanted linux/arm64, actual: linux/amd64.
See 'docker run --help'.

I get this error too. It appears Docker can only hold one image of one platform in your local registry, so you need to rebuild or re-pull the arm64 image before doing the docker run command.

Finn-Ko commented 1 year ago

Thanks for the reply! Problem is that my second image is also amd64 native and used to work with the qemu emulation. It doesn't work with the rosetta emulation. setting the --platform linux/amd64 flag when running it results in:

docker: Error response from daemon: image with reference 
[...] was found but does not match the specified platform: wanted linux/arm64, actual: linux/amd64.
See 'docker run --help'.

I get this error too. It appears Docker can only hold one image of one platform in your local registry, so you need to rebuild or re-pull the arm64 image before doing the docker run command.

The image I need to use is an amd64 image. It worked fine with qemu but doesn't with rosetta. Re-pulling/-building therefore unfortunately doesn't change anything for me.

stuartmilne commented 1 year ago

@Finn-Ko I could be wrong but you may be suffering from the same issue as me. Qemu used to work for me too, however this is different to Rosetta (Qemu acting as full emulation). I changed my container to be arm64 and am still unable to run my executable but I now get a Rosetta error. The error is rosetta error: failed to open elf at /lib64/ld-linux-x86-64.so.2

Anyone shed any light on this? Am I doing things correctly here?

schmitch commented 1 year ago

@Finn-Ko I could be wrong but you may be suffering from the same issue as me. Qemu used to work for me too, however this is different to Rosetta (Qemu acting as full emulation). I changed my container to be arm64 and am still unable to run my executable but I now get a Rosetta error. The error is rosetta error: failed to open elf at /lib64/ld-linux-x86-64.so.2

Anyone shed any light on this? Am I doing things correctly here?

you need to install a libc6 for amd inside the image, if you are on debian you can do: dpkg --add-architecture amd64 && apt-get update && apt-get install -y libc6:amd sometimes you also need libstdc++6:amd64 no idea how to do it in alpine, tough.

BirknerAlex commented 1 year ago

Awesome work Docker team! 🎉

Running some tooling containers on my local development machine, these images are currently only provided as amd64 variant, I tested one protobuf compiler image now which was before really slow on the M1, feels much much better now.

Docker v4.15.0

time tools/build-proto.sh
real    0m24.817s
user    0m0.076s
sys     0m0.085s

Docker v4.16.0 with Rosetta enabled

time tools/build-proto.sh
real    0m13.517s
user    0m0.085s
sys     0m0.110s

Thank you very much.

fgilio commented 1 year ago

We're seeing a huge speed up on SQL queries running on SingleStore dev image. Thanks for working on this!!

212347460-99761502-6bc9-48cf-a7bf-a5bd55a90373

stuartmilne commented 1 year ago

@Finn-Ko I could be wrong but you may be suffering from the same issue as me. Qemu used to work for me too, however this is different to Rosetta (Qemu acting as full emulation). I changed my container to be arm64 and am still unable to run my executable but I now get a Rosetta error. The error is rosetta error: failed to open elf at /lib64/ld-linux-x86-64.so.2 Anyone shed any light on this? Am I doing things correctly here?

you need to install a libc6 for amd inside the image, if you are on debian you can do: dpkg --add-architecture amd64 && apt-get update && apt-get install -y libc6:amd sometimes you also need libstdc++6:amd64 no idea how to do it in alpine, tough.

Thanks for that. Turns out cross arhictecture issue where the libs are in a different location. Symlinks solved this.

arsereg commented 1 year ago

If anyone is having issues trying to find the feature under the Beta Features, make sure your macOS is 13, as this feature was released for macOS 13 and above

JackEllis commented 1 year ago

This has made things so much faster. I ran some benchmarks this morning and I'm blown away.

Query Before Rosetta After enabling Rosetta How much faster is Rosetta?
CREATE DATABASE test; 3,083 ms 2,954.75 ms 4.16%
DROP DATABASE test; 939 ms 740.33 ms 21.15%
CREATE TABLE users (id BIGINT AUTO_INCREMENT PRIMARY KEY, name TEXT, email TEXT); 121 ms 28.75 ms 76.24%
INSERT INTO users (id, name, email) VALUES (1, 'Jack Ellis', 'jack.ellis@google-analytics.com'); 5.4 ms 2.66 ms 50.74%
SELECT * FROM users WHERE id = 1; 4.8 ms 2.5 ms 47.91%
UPDATE users SET name = 'Jack Google' WHERE id = 1; 6 ms 3 ms 50%
DELETE FROM users WHERE id = 1; 5.8 ms 2.25 ms 61.21%
SELECT SUM(pageviews) from pageviews; 67.6 ms 7.4 ms 89%
SELECT pathname, SUM(pageviews) as x from pageviews GROUP BY pathname ORDER BY x DESC LIMIT 100; 125.2 ms 16.2 ms 87%
SELECT pathname, SUM(pageviews) as x FROM pageviews WHERE referrer_hostname = ‘https://laravel.com' GROUP BY pathname ORDER BY x DESC LIMIT 100; 133.6 ms 12 ms 91%
UPDATE pageviews SET utm_campaign = ‘boop’; 22,000 ms 3,593 ms 83.66%
DELETE FROM pageviews WHERE referrer_hostname = 'https://laravel.com'; 610.33 ms 93 ms 84.76%
DELETE FROM pageviews; 488.5 ms 44 ms 90.99%

Source: https://usefathom.com/laravel-tips/singlestore-faster-docker

robertlyson commented 1 year ago

Trying to build MS SQL Server with Rosetta emulation enabled on my M1 but docker build fails with following

[+] Building 19.1s (5/5) FINISHED                                                                                                            
 => [internal] load build definition from mssql-agent-fts-ha-tools.Dockerfile                                                           0.0s
 => => transferring dockerfile: 1.09kB                                                                                                  0.0s
 => [internal] load .dockerignore                                                                                                       0.0s
 => => transferring context: 2B                                                                                                         0.0s
 => [internal] load metadata for docker.io/library/ubuntu:16.04                                                                         0.6s
 => CACHED [1/2] FROM docker.io/library/ubuntu:16.04@sha256:1f1a2d56de1d604801a9671f301190704c25d604a416f59e03c04f5c6ffee0d6            0.0s
 => => resolve docker.io/library/ubuntu:16.04@sha256:1f1a2d56de1d604801a9671f301190704c25d604a416f59e03c04f5c6ffee0d6                   0.0s
 => ERROR [2/2] RUN export DEBIAN_FRONTEND=noninteractive &&     apt-get update &&     apt-get install -yq curl apt-transport-https &  18.4s
------                                                                                                                                       
 > [2/2] RUN export DEBIAN_FRONTEND=noninteractive &&     apt-get update &&     apt-get install -yq curl apt-transport-https &&     curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - &&     curl https://packages.microsoft.com/config/ubuntu/16.04/mssql-server-2017.list | tee /etc/apt/sources.list.d/mssql-server.list &&     apt-get update &&     apt-get install -y mssql-server &&     apt-get install -y mssql-server-ha &&     apt-get install -y mssql-server-fts &&     apt-get clean &&     rm -rf /var/lib/apt/lists:                           
#5 0.263 Get:1 http://ports.ubuntu.com/ubuntu-ports xenial InRelease [247 kB]
#5 0.496 Get:2 http://ports.ubuntu.com/ubuntu-ports xenial-updates InRelease [99.8 kB]
#5 0.637 Get:3 http://ports.ubuntu.com/ubuntu-ports xenial-backports InRelease [97.4 kB]
#5 0.688 Get:4 http://ports.ubuntu.com/ubuntu-ports xenial-security InRelease [99.8 kB]
#5 0.702 Get:5 http://ports.ubuntu.com/ubuntu-ports xenial/main arm64 Packages [1466 kB]
#5 0.870 Get:6 http://ports.ubuntu.com/ubuntu-ports xenial/universe arm64 Packages [9493 kB]
#5 1.173 Get:7 http://ports.ubuntu.com/ubuntu-ports xenial/multiverse arm64 Packages [146 kB]
#5 1.175 Get:8 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 Packages [1556 kB]
#5 1.187 Get:9 http://ports.ubuntu.com/ubuntu-ports xenial-updates/universe arm64 Packages [1466 kB]
#5 1.259 Get:10 http://ports.ubuntu.com/ubuntu-ports xenial-updates/multiverse arm64 Packages [17.2 kB]
#5 1.260 Get:11 http://ports.ubuntu.com/ubuntu-ports xenial-backports/main arm64 Packages [10.9 kB]
#5 1.260 Get:12 http://ports.ubuntu.com/ubuntu-ports xenial-backports/universe arm64 Packages [10.7 kB]
#5 1.262 Get:13 http://ports.ubuntu.com/ubuntu-ports xenial-security/main arm64 Packages [1118 kB]
#5 1.269 Get:14 http://ports.ubuntu.com/ubuntu-ports xenial-security/universe arm64 Packages [943 kB]
#5 1.277 Get:15 http://ports.ubuntu.com/ubuntu-ports xenial-security/multiverse arm64 Packages [3332 B]
#5 1.876 Fetched 16.8 MB in 1s (9857 kB/s)
#5 1.876 Reading package lists...
#5 2.420 Reading package lists...
#5 2.972 Building dependency tree...
#5 3.061 Reading state information...
#5 3.129 The following additional packages will be installed:
#5 3.129   ca-certificates krb5-locales libasn1-8-heimdal libcurl3-gnutls libffi6
#5 3.129   libgmp10 libgnutls30 libgssapi-krb5-2 libgssapi3-heimdal libhcrypto4-heimdal
#5 3.129   libheimbase1-heimdal libheimntlm0-heimdal libhogweed4 libhx509-5-heimdal
#5 3.129   libidn11 libk5crypto3 libkeyutils1 libkrb5-26-heimdal libkrb5-3
#5 3.129   libkrb5support0 libldap-2.4-2 libnettle6 libp11-kit0 libroken18-heimdal
#5 3.129   librtmp1 libsasl2-2 libsasl2-modules libsasl2-modules-db libsqlite3-0
#5 3.129   libssl1.0.0 libtasn1-6 libwind0-heimdal openssl
#5 3.130 Suggested packages:
#5 3.130   gnutls-bin krb5-doc krb5-user libsasl2-modules-otp libsasl2-modules-ldap
#5 3.130   libsasl2-modules-sql libsasl2-modules-gssapi-mit
#5 3.130   | libsasl2-modules-gssapi-heimdal
#5 3.130 The following NEW packages will be installed:
#5 3.130   apt-transport-https ca-certificates curl krb5-locales libasn1-8-heimdal
#5 3.130   libcurl3-gnutls libffi6 libgmp10 libgnutls30 libgssapi-krb5-2
#5 3.130   libgssapi3-heimdal libhcrypto4-heimdal libheimbase1-heimdal
#5 3.130   libheimntlm0-heimdal libhogweed4 libhx509-5-heimdal libidn11 libk5crypto3
#5 3.130   libkeyutils1 libkrb5-26-heimdal libkrb5-3 libkrb5support0 libldap-2.4-2
#5 3.130   libnettle6 libp11-kit0 libroken18-heimdal librtmp1 libsasl2-2
#5 3.130   libsasl2-modules libsasl2-modules-db libsqlite3-0 libssl1.0.0 libtasn1-6
#5 3.130   libwind0-heimdal openssl
#5 3.261 0 upgraded, 35 newly installed, 0 to remove and 0 not upgraded.
#5 3.261 Need to get 4370 kB of archives.
#5 3.261 After this operation, 17.3 MB of additional disk space will be used.
#5 3.261 Get:1 http://ports.ubuntu.com/ubuntu-ports xenial/main arm64 libffi6 arm64 3.2.1-4 [16.3 kB]
#5 3.353 Get:2 http://ports.ubuntu.com/ubuntu-ports xenial/main arm64 libgmp10 arm64 2:6.1.0+dfsg-2 [202 kB]
#5 3.483 Get:3 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libnettle6 arm64 3.2-1ubuntu0.16.04.2 [96.1 kB]
#5 3.504 Get:4 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libhogweed4 arm64 3.2-1ubuntu0.16.04.2 [127 kB]
#5 3.526 Get:5 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libidn11 arm64 1.32-3ubuntu1.2 [42.9 kB]
#5 3.530 Get:6 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libp11-kit0 arm64 0.23.2-5~ubuntu16.04.2 [84.1 kB]
#5 3.540 Get:7 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libtasn1-6 arm64 4.7-3ubuntu0.16.04.3 [38.0 kB]
#5 3.544 Get:8 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libgnutls30 arm64 3.4.10-4ubuntu1.9 [438 kB]
#5 3.575 Get:9 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libsqlite3-0 arm64 3.11.0-1ubuntu1.5 [335 kB]
#5 3.593 Get:10 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libssl1.0.0 arm64 1.0.2g-1ubuntu4.20 [693 kB]
#5 3.619 Get:11 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libkrb5support0 arm64 1.13.2+dfsg-5ubuntu2.2 [28.3 kB]
#5 3.619 Get:12 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libk5crypto3 arm64 1.13.2+dfsg-5ubuntu2.2 [72.1 kB]
#5 3.622 Get:13 http://ports.ubuntu.com/ubuntu-ports xenial/main arm64 libkeyutils1 arm64 1.5.9-8ubuntu1 [9424 B]
#5 3.623 Get:14 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libkrb5-3 arm64 1.13.2+dfsg-5ubuntu2.2 [227 kB]
#5 3.628 Get:15 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libgssapi-krb5-2 arm64 1.13.2+dfsg-5ubuntu2.2 [97.2 kB]
#5 3.630 Get:16 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libroken18-heimdal arm64 1.7~git20150920+dfsg-4ubuntu1.16.04.1 [34.6 kB]
#5 3.631 Get:17 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libasn1-8-heimdal arm64 1.7~git20150920+dfsg-4ubuntu1.16.04.1 [127 kB]
#5 3.636 Get:18 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libhcrypto4-heimdal arm64 1.7~git20150920+dfsg-4ubuntu1.16.04.1 [70.5 kB]
#5 3.637 Get:19 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libheimbase1-heimdal arm64 1.7~git20150920+dfsg-4ubuntu1.16.04.1 [24.3 kB]
#5 3.663 Get:20 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libwind0-heimdal arm64 1.7~git20150920+dfsg-4ubuntu1.16.04.1 [47.1 kB]
#5 3.665 Get:21 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libhx509-5-heimdal arm64 1.7~git20150920+dfsg-4ubuntu1.16.04.1 [86.1 kB]
#5 3.668 Get:22 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libkrb5-26-heimdal arm64 1.7~git20150920+dfsg-4ubuntu1.16.04.1 [162 kB]
#5 3.673 Get:23 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libheimntlm0-heimdal arm64 1.7~git20150920+dfsg-4ubuntu1.16.04.1 [13.2 kB]
#5 3.674 Get:24 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libgssapi3-heimdal arm64 1.7~git20150920+dfsg-4ubuntu1.16.04.1 [76.5 kB]
#5 3.678 Get:25 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libsasl2-modules-db arm64 2.1.26.dfsg1-14ubuntu0.2 [13.0 kB]
#5 3.678 Get:26 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libsasl2-2 arm64 2.1.26.dfsg1-14ubuntu0.2 [41.4 kB]
#5 3.683 Get:27 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libldap-2.4-2 arm64 2.4.42+dfsg-2ubuntu3.13 [133 kB]
#5 3.703 Get:28 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 librtmp1 arm64 2.4+20151223.gitfa8646d-1ubuntu0.1 [48.4 kB]
#5 3.706 Get:29 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libcurl3-gnutls arm64 7.47.0-1ubuntu2.19 [156 kB]
#5 3.709 Get:30 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 apt-transport-https arm64 1.2.35 [24.8 kB]
#5 3.711 Get:31 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 openssl arm64 1.0.2g-1ubuntu4.20 [471 kB]
#5 3.721 Get:32 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 ca-certificates all 20210119~16.04.1 [148 kB]
#5 3.723 Get:33 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 krb5-locales all 1.13.2+dfsg-5ubuntu2.2 [13.7 kB]
#5 3.724 Get:34 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libsasl2-modules arm64 2.1.26.dfsg1-14ubuntu0.2 [40.1 kB]
#5 3.725 Get:35 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 curl arm64 7.47.0-1ubuntu2.19 [133 kB]
#5 3.773 debconf: delaying package configuration, since apt-utils is not installed
#5 3.785 Fetched 4370 kB in 0s (7827 kB/s)
#5 3.798 Selecting previously unselected package libffi6:arm64.
(Reading database ... 4774 files and directories currently installed.)
#5 3.801 Preparing to unpack .../libffi6_3.2.1-4_arm64.deb ...
#5 3.803 Unpacking libffi6:arm64 (3.2.1-4) ...
#5 3.818 Selecting previously unselected package libgmp10:arm64.
#5 3.819 Preparing to unpack .../libgmp10_2%3a6.1.0+dfsg-2_arm64.deb ...
#5 3.820 Unpacking libgmp10:arm64 (2:6.1.0+dfsg-2) ...
#5 3.846 Selecting previously unselected package libnettle6:arm64.
#5 3.847 Preparing to unpack .../libnettle6_3.2-1ubuntu0.16.04.2_arm64.deb ...
#5 3.848 Unpacking libnettle6:arm64 (3.2-1ubuntu0.16.04.2) ...
#5 3.868 Selecting previously unselected package libhogweed4:arm64.
#5 3.869 Preparing to unpack .../libhogweed4_3.2-1ubuntu0.16.04.2_arm64.deb ...
#5 3.870 Unpacking libhogweed4:arm64 (3.2-1ubuntu0.16.04.2) ...
#5 3.891 Selecting previously unselected package libidn11:arm64.
#5 3.891 Preparing to unpack .../libidn11_1.32-3ubuntu1.2_arm64.deb ...
#5 3.892 Unpacking libidn11:arm64 (1.32-3ubuntu1.2) ...
#5 3.910 Selecting previously unselected package libp11-kit0:arm64.
#5 3.910 Preparing to unpack .../libp11-kit0_0.23.2-5~ubuntu16.04.2_arm64.deb ...
#5 3.912 Unpacking libp11-kit0:arm64 (0.23.2-5~ubuntu16.04.2) ...
#5 3.932 Selecting previously unselected package libtasn1-6:arm64.
#5 3.932 Preparing to unpack .../libtasn1-6_4.7-3ubuntu0.16.04.3_arm64.deb ...
#5 3.933 Unpacking libtasn1-6:arm64 (4.7-3ubuntu0.16.04.3) ...
#5 3.950 Selecting previously unselected package libgnutls30:arm64.
#5 3.950 Preparing to unpack .../libgnutls30_3.4.10-4ubuntu1.9_arm64.deb ...
#5 3.951 Unpacking libgnutls30:arm64 (3.4.10-4ubuntu1.9) ...
#5 3.991 Selecting previously unselected package libsqlite3-0:arm64.
#5 3.992 Preparing to unpack .../libsqlite3-0_3.11.0-1ubuntu1.5_arm64.deb ...
#5 3.993 Unpacking libsqlite3-0:arm64 (3.11.0-1ubuntu1.5) ...
#5 4.029 Selecting previously unselected package libssl1.0.0:arm64.
#5 4.029 Preparing to unpack .../libssl1.0.0_1.0.2g-1ubuntu4.20_arm64.deb ...
#5 4.031 Unpacking libssl1.0.0:arm64 (1.0.2g-1ubuntu4.20) ...
#5 4.086 Selecting previously unselected package libkrb5support0:arm64.
#5 4.086 Preparing to unpack .../libkrb5support0_1.13.2+dfsg-5ubuntu2.2_arm64.deb ...
#5 4.087 Unpacking libkrb5support0:arm64 (1.13.2+dfsg-5ubuntu2.2) ...
#5 4.103 Selecting previously unselected package libk5crypto3:arm64.
#5 4.103 Preparing to unpack .../libk5crypto3_1.13.2+dfsg-5ubuntu2.2_arm64.deb ...
#5 4.105 Unpacking libk5crypto3:arm64 (1.13.2+dfsg-5ubuntu2.2) ...
#5 4.123 Selecting previously unselected package libkeyutils1:arm64.
#5 4.124 Preparing to unpack .../libkeyutils1_1.5.9-8ubuntu1_arm64.deb ...
#5 4.125 Unpacking libkeyutils1:arm64 (1.5.9-8ubuntu1) ...
#5 4.140 Selecting previously unselected package libkrb5-3:arm64.
#5 4.140 Preparing to unpack .../libkrb5-3_1.13.2+dfsg-5ubuntu2.2_arm64.deb ...
#5 4.142 Unpacking libkrb5-3:arm64 (1.13.2+dfsg-5ubuntu2.2) ...
#5 4.173 Selecting previously unselected package libgssapi-krb5-2:arm64.
#5 4.173 Preparing to unpack .../libgssapi-krb5-2_1.13.2+dfsg-5ubuntu2.2_arm64.deb ...
#5 4.175 Unpacking libgssapi-krb5-2:arm64 (1.13.2+dfsg-5ubuntu2.2) ...
#5 4.195 Selecting previously unselected package libroken18-heimdal:arm64.
#5 4.196 Preparing to unpack .../libroken18-heimdal_1.7~git20150920+dfsg-4ubuntu1.16.04.1_arm64.deb ...
#5 4.197 Unpacking libroken18-heimdal:arm64 (1.7~git20150920+dfsg-4ubuntu1.16.04.1) ...
#5 4.213 Selecting previously unselected package libasn1-8-heimdal:arm64.
#5 4.213 Preparing to unpack .../libasn1-8-heimdal_1.7~git20150920+dfsg-4ubuntu1.16.04.1_arm64.deb ...
#5 4.215 Unpacking libasn1-8-heimdal:arm64 (1.7~git20150920+dfsg-4ubuntu1.16.04.1) ...
#5 4.236 Selecting previously unselected package libhcrypto4-heimdal:arm64.
#5 4.237 Preparing to unpack .../libhcrypto4-heimdal_1.7~git20150920+dfsg-4ubuntu1.16.04.1_arm64.deb ...
#5 4.238 Unpacking libhcrypto4-heimdal:arm64 (1.7~git20150920+dfsg-4ubuntu1.16.04.1) ...
#5 4.257 Selecting previously unselected package libheimbase1-heimdal:arm64.
#5 4.257 Preparing to unpack .../libheimbase1-heimdal_1.7~git20150920+dfsg-4ubuntu1.16.04.1_arm64.deb ...
#5 4.259 Unpacking libheimbase1-heimdal:arm64 (1.7~git20150920+dfsg-4ubuntu1.16.04.1) ...
#5 4.274 Selecting previously unselected package libwind0-heimdal:arm64.
#5 4.275 Preparing to unpack .../libwind0-heimdal_1.7~git20150920+dfsg-4ubuntu1.16.04.1_arm64.deb ...
#5 4.276 Unpacking libwind0-heimdal:arm64 (1.7~git20150920+dfsg-4ubuntu1.16.04.1) ...
#5 4.294 Selecting previously unselected package libhx509-5-heimdal:arm64.
#5 4.294 Preparing to unpack .../libhx509-5-heimdal_1.7~git20150920+dfsg-4ubuntu1.16.04.1_arm64.deb ...
#5 4.295 Unpacking libhx509-5-heimdal:arm64 (1.7~git20150920+dfsg-4ubuntu1.16.04.1) ...
#5 4.315 Selecting previously unselected package libkrb5-26-heimdal:arm64.
#5 4.315 Preparing to unpack .../libkrb5-26-heimdal_1.7~git20150920+dfsg-4ubuntu1.16.04.1_arm64.deb ...
#5 4.316 Unpacking libkrb5-26-heimdal:arm64 (1.7~git20150920+dfsg-4ubuntu1.16.04.1) ...
#5 4.339 Selecting previously unselected package libheimntlm0-heimdal:arm64.
#5 4.340 Preparing to unpack .../libheimntlm0-heimdal_1.7~git20150920+dfsg-4ubuntu1.16.04.1_arm64.deb ...
#5 4.341 Unpacking libheimntlm0-heimdal:arm64 (1.7~git20150920+dfsg-4ubuntu1.16.04.1) ...
#5 4.356 Selecting previously unselected package libgssapi3-heimdal:arm64.
#5 4.356 Preparing to unpack .../libgssapi3-heimdal_1.7~git20150920+dfsg-4ubuntu1.16.04.1_arm64.deb ...
#5 4.357 Unpacking libgssapi3-heimdal:arm64 (1.7~git20150920+dfsg-4ubuntu1.16.04.1) ...
#5 4.375 Selecting previously unselected package libsasl2-modules-db:arm64.
#5 4.376 Preparing to unpack .../libsasl2-modules-db_2.1.26.dfsg1-14ubuntu0.2_arm64.deb ...
#5 4.377 Unpacking libsasl2-modules-db:arm64 (2.1.26.dfsg1-14ubuntu0.2) ...
#5 4.392 Selecting previously unselected package libsasl2-2:arm64.
#5 4.392 Preparing to unpack .../libsasl2-2_2.1.26.dfsg1-14ubuntu0.2_arm64.deb ...
#5 4.393 Unpacking libsasl2-2:arm64 (2.1.26.dfsg1-14ubuntu0.2) ...
#5 4.412 Selecting previously unselected package libldap-2.4-2:arm64.
#5 4.413 Preparing to unpack .../libldap-2.4-2_2.4.42+dfsg-2ubuntu3.13_arm64.deb ...
#5 4.414 Unpacking libldap-2.4-2:arm64 (2.4.42+dfsg-2ubuntu3.13) ...
#5 4.436 Selecting previously unselected package librtmp1:arm64.
#5 4.437 Preparing to unpack .../librtmp1_2.4+20151223.gitfa8646d-1ubuntu0.1_arm64.deb ...
#5 4.438 Unpacking librtmp1:arm64 (2.4+20151223.gitfa8646d-1ubuntu0.1) ...
#5 4.457 Selecting previously unselected package libcurl3-gnutls:arm64.
#5 4.457 Preparing to unpack .../libcurl3-gnutls_7.47.0-1ubuntu2.19_arm64.deb ...
#5 4.458 Unpacking libcurl3-gnutls:arm64 (7.47.0-1ubuntu2.19) ...
#5 4.480 Selecting previously unselected package apt-transport-https.
#5 4.481 Preparing to unpack .../apt-transport-https_1.2.35_arm64.deb ...
#5 4.482 Unpacking apt-transport-https (1.2.35) ...
#5 4.498 Selecting previously unselected package openssl.
#5 4.499 Preparing to unpack .../openssl_1.0.2g-1ubuntu4.20_arm64.deb ...
#5 4.500 Unpacking openssl (1.0.2g-1ubuntu4.20) ...
#5 4.545 Selecting previously unselected package ca-certificates.
#5 4.545 Preparing to unpack .../ca-certificates_20210119~16.04.1_all.deb ...
#5 4.547 Unpacking ca-certificates (20210119~16.04.1) ...
#5 4.574 Selecting previously unselected package krb5-locales.
#5 4.574 Preparing to unpack .../krb5-locales_1.13.2+dfsg-5ubuntu2.2_all.deb ...
#5 4.576 Unpacking krb5-locales (1.13.2+dfsg-5ubuntu2.2) ...
#5 4.591 Selecting previously unselected package libsasl2-modules:arm64.
#5 4.592 Preparing to unpack .../libsasl2-modules_2.1.26.dfsg1-14ubuntu0.2_arm64.deb ...
#5 4.593 Unpacking libsasl2-modules:arm64 (2.1.26.dfsg1-14ubuntu0.2) ...
#5 4.609 Selecting previously unselected package curl.
#5 4.610 Preparing to unpack .../curl_7.47.0-1ubuntu2.19_arm64.deb ...
#5 4.611 Unpacking curl (7.47.0-1ubuntu2.19) ...
#5 4.626 Processing triggers for libc-bin (2.23-0ubuntu11.3) ...
#5 4.646 Setting up libffi6:arm64 (3.2.1-4) ...
#5 4.650 Setting up libgmp10:arm64 (2:6.1.0+dfsg-2) ...
#5 4.654 Setting up libnettle6:arm64 (3.2-1ubuntu0.16.04.2) ...
#5 4.657 Setting up libhogweed4:arm64 (3.2-1ubuntu0.16.04.2) ...
#5 4.660 Setting up libidn11:arm64 (1.32-3ubuntu1.2) ...
#5 4.664 Setting up libp11-kit0:arm64 (0.23.2-5~ubuntu16.04.2) ...
#5 4.667 Setting up libtasn1-6:arm64 (4.7-3ubuntu0.16.04.3) ...
#5 4.671 Setting up libgnutls30:arm64 (3.4.10-4ubuntu1.9) ...
#5 4.674 Setting up libsqlite3-0:arm64 (3.11.0-1ubuntu1.5) ...
#5 4.681 Setting up libssl1.0.0:arm64 (1.0.2g-1ubuntu4.20) ...
#5 4.721 Setting up libkrb5support0:arm64 (1.13.2+dfsg-5ubuntu2.2) ...
#5 4.724 Setting up libk5crypto3:arm64 (1.13.2+dfsg-5ubuntu2.2) ...
#5 4.727 Setting up libkeyutils1:arm64 (1.5.9-8ubuntu1) ...
#5 4.731 Setting up libkrb5-3:arm64 (1.13.2+dfsg-5ubuntu2.2) ...
#5 4.733 Setting up libgssapi-krb5-2:arm64 (1.13.2+dfsg-5ubuntu2.2) ...
#5 4.738 Setting up libroken18-heimdal:arm64 (1.7~git20150920+dfsg-4ubuntu1.16.04.1) ...
#5 4.741 Setting up libasn1-8-heimdal:arm64 (1.7~git20150920+dfsg-4ubuntu1.16.04.1) ...
#5 4.744 Setting up libhcrypto4-heimdal:arm64 (1.7~git20150920+dfsg-4ubuntu1.16.04.1) ...
#5 4.747 Setting up libheimbase1-heimdal:arm64 (1.7~git20150920+dfsg-4ubuntu1.16.04.1) ...
#5 4.750 Setting up libwind0-heimdal:arm64 (1.7~git20150920+dfsg-4ubuntu1.16.04.1) ...
#5 4.753 Setting up libhx509-5-heimdal:arm64 (1.7~git20150920+dfsg-4ubuntu1.16.04.1) ...
#5 4.756 Setting up libkrb5-26-heimdal:arm64 (1.7~git20150920+dfsg-4ubuntu1.16.04.1) ...
#5 4.760 Setting up libheimntlm0-heimdal:arm64 (1.7~git20150920+dfsg-4ubuntu1.16.04.1) ...
#5 4.763 Setting up libgssapi3-heimdal:arm64 (1.7~git20150920+dfsg-4ubuntu1.16.04.1) ...
#5 4.766 Setting up libsasl2-modules-db:arm64 (2.1.26.dfsg1-14ubuntu0.2) ...
#5 4.769 Setting up libsasl2-2:arm64 (2.1.26.dfsg1-14ubuntu0.2) ...
#5 4.772 Setting up libldap-2.4-2:arm64 (2.4.42+dfsg-2ubuntu3.13) ...
#5 4.781 Setting up librtmp1:arm64 (2.4+20151223.gitfa8646d-1ubuntu0.1) ...
#5 4.784 Setting up libcurl3-gnutls:arm64 (7.47.0-1ubuntu2.19) ...
#5 4.787 Setting up apt-transport-https (1.2.35) ...
#5 4.790 Setting up openssl (1.0.2g-1ubuntu4.20) ...
#5 4.795 Setting up ca-certificates (20210119~16.04.1) ...
#5 5.209 Setting up krb5-locales (1.13.2+dfsg-5ubuntu2.2) ...
#5 5.213 Setting up libsasl2-modules:arm64 (2.1.26.dfsg1-14ubuntu0.2) ...
#5 5.216 Setting up curl (7.47.0-1ubuntu2.19) ...
#5 5.219 Processing triggers for libc-bin (2.23-0ubuntu11.3) ...
#5 5.225 Processing triggers for ca-certificates (20210119~16.04.1) ...
#5 5.230 Updating certificates in /etc/ssl/certs...
#5 6.531 129 added, 0 removed; done.
#5 6.531 Running hooks in /etc/ca-certificates/update.d...
#5 6.532 done.
#5 6.570   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
#5 6.572                                  Dload  Upload   Total   Spent    Left  Speed
100   983  100   983    0     0    262      0  0:00:03  0:00:03 --:--:--   262
#5 10.40 OK
#5 10.40   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
#5 10.40                                  Dload  Upload   Total   Spent    Left  Speed
100    91  100    91    0     0    118      0 --:--:-- --:--:-- --:--:--   118
#5 11.17 deb [arch=amd64] https://packages.microsoft.com/ubuntu/16.04/mssql-server-2017 xenial main
#5 11.33 Hit:1 http://ports.ubuntu.com/ubuntu-ports xenial InRelease
#5 11.36 Hit:2 http://ports.ubuntu.com/ubuntu-ports xenial-updates InRelease
#5 11.41 Hit:3 http://ports.ubuntu.com/ubuntu-ports xenial-backports InRelease
#5 11.45 Hit:4 http://ports.ubuntu.com/ubuntu-ports xenial-security InRelease
#5 16.98 Get:5 https://packages.microsoft.com/ubuntu/16.04/mssql-server-2017 xenial InRelease [3995 B]
#5 17.12 Get:6 https://packages.microsoft.com/ubuntu/16.04/mssql-server-2017 xenial/main amd64 Packages [20.9 kB]
#5 17.14 Fetched 24.9 kB in 5s (4219 B/s)
#5 17.14 Reading package lists...
#5 17.69 Reading package lists...
#5 18.22 Building dependency tree...
#5 18.32 Reading state information...
#5 18.34 E: Unable to locate package mssql-server
------
executor failed running [/bin/sh -c export DEBIAN_FRONTEND=noninteractive &&     apt-get update &&     apt-get install -yq curl apt-transport-https &&     curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - &&     curl https://packages.microsoft.com/config/ubuntu/16.04/mssql-server-2017.list | tee /etc/apt/sources.list.d/mssql-server.list &&     apt-get update &&     apt-get install -y mssql-server &&     apt-get install -y mssql-server-ha &&     apt-get install -y mssql-server-fts &&     apt-get clean &&     rm -rf /var/lib/apt/lists]: exit code: 100

Any ideas?

schmitch commented 1 year ago

@robertlyson you need to do: ``docker build --platform=linux/amd64 .... you are running on ubuntu arm64 and you do not have multiarch installed.

jordantshaw commented 1 year ago

Trying to build MS SQL Server with Rosetta emulation enabled on my M1 but docker build fails with following

> ``` > [+] Building 19.1s (5/5) FINISHED > => [internal] load build definition from mssql-agent-fts-ha-tools.Dockerfile 0.0s > => => transferring dockerfile: 1.09kB 0.0s > => [internal] load .dockerignore 0.0s > => => transferring context: 2B 0.0s > => [internal] load metadata for docker.io/library/ubuntu:16.04 0.6s > => CACHED [1/2] FROM docker.io/library/ubuntu:16.04@sha256:1f1a2d56de1d604801a9671f301190704c25d604a416f59e03c04f5c6ffee0d6 0.0s > => => resolve docker.io/library/ubuntu:16.04@sha256:1f1a2d56de1d604801a9671f301190704c25d604a416f59e03c04f5c6ffee0d6 0.0s > => ERROR [2/2] RUN export DEBIAN_FRONTEND=noninteractive && apt-get update && apt-get install -yq curl apt-transport-https & 18.4s > ------ > > [2/2] RUN export DEBIAN_FRONTEND=noninteractive && apt-get update && apt-get install -yq curl apt-transport-https && curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - && curl https://packages.microsoft.com/config/ubuntu/16.04/mssql-server-2017.list | tee /etc/apt/sources.list.d/mssql-server.list && apt-get update && apt-get install -y mssql-server && apt-get install -y mssql-server-ha && apt-get install -y mssql-server-fts && apt-get clean && rm -rf /var/lib/apt/lists: > #5 0.263 Get:1 http://ports.ubuntu.com/ubuntu-ports xenial InRelease [247 kB] > #5 0.496 Get:2 http://ports.ubuntu.com/ubuntu-ports xenial-updates InRelease [99.8 kB] > #5 0.637 Get:3 http://ports.ubuntu.com/ubuntu-ports xenial-backports InRelease [97.4 kB] > #5 0.688 Get:4 http://ports.ubuntu.com/ubuntu-ports xenial-security InRelease [99.8 kB] > #5 0.702 Get:5 http://ports.ubuntu.com/ubuntu-ports xenial/main arm64 Packages [1466 kB] > #5 0.870 Get:6 http://ports.ubuntu.com/ubuntu-ports xenial/universe arm64 Packages [9493 kB] > #5 1.173 Get:7 http://ports.ubuntu.com/ubuntu-ports xenial/multiverse arm64 Packages [146 kB] > #5 1.175 Get:8 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 Packages [1556 kB] > #5 1.187 Get:9 http://ports.ubuntu.com/ubuntu-ports xenial-updates/universe arm64 Packages [1466 kB] > #5 1.259 Get:10 http://ports.ubuntu.com/ubuntu-ports xenial-updates/multiverse arm64 Packages [17.2 kB] > #5 1.260 Get:11 http://ports.ubuntu.com/ubuntu-ports xenial-backports/main arm64 Packages [10.9 kB] > #5 1.260 Get:12 http://ports.ubuntu.com/ubuntu-ports xenial-backports/universe arm64 Packages [10.7 kB] > #5 1.262 Get:13 http://ports.ubuntu.com/ubuntu-ports xenial-security/main arm64 Packages [1118 kB] > #5 1.269 Get:14 http://ports.ubuntu.com/ubuntu-ports xenial-security/universe arm64 Packages [943 kB] > #5 1.277 Get:15 http://ports.ubuntu.com/ubuntu-ports xenial-security/multiverse arm64 Packages [3332 B] > #5 1.876 Fetched 16.8 MB in 1s (9857 kB/s) > #5 1.876 Reading package lists... > #5 2.420 Reading package lists... > #5 2.972 Building dependency tree... > #5 3.061 Reading state information... > #5 3.129 The following additional packages will be installed: > #5 3.129 ca-certificates krb5-locales libasn1-8-heimdal libcurl3-gnutls libffi6 > #5 3.129 libgmp10 libgnutls30 libgssapi-krb5-2 libgssapi3-heimdal libhcrypto4-heimdal > #5 3.129 libheimbase1-heimdal libheimntlm0-heimdal libhogweed4 libhx509-5-heimdal > #5 3.129 libidn11 libk5crypto3 libkeyutils1 libkrb5-26-heimdal libkrb5-3 > #5 3.129 libkrb5support0 libldap-2.4-2 libnettle6 libp11-kit0 libroken18-heimdal > #5 3.129 librtmp1 libsasl2-2 libsasl2-modules libsasl2-modules-db libsqlite3-0 > #5 3.129 libssl1.0.0 libtasn1-6 libwind0-heimdal openssl > #5 3.130 Suggested packages: > #5 3.130 gnutls-bin krb5-doc krb5-user libsasl2-modules-otp libsasl2-modules-ldap > #5 3.130 libsasl2-modules-sql libsasl2-modules-gssapi-mit > #5 3.130 | libsasl2-modules-gssapi-heimdal > #5 3.130 The following NEW packages will be installed: > #5 3.130 apt-transport-https ca-certificates curl krb5-locales libasn1-8-heimdal > #5 3.130 libcurl3-gnutls libffi6 libgmp10 libgnutls30 libgssapi-krb5-2 > #5 3.130 libgssapi3-heimdal libhcrypto4-heimdal libheimbase1-heimdal > #5 3.130 libheimntlm0-heimdal libhogweed4 libhx509-5-heimdal libidn11 libk5crypto3 > #5 3.130 libkeyutils1 libkrb5-26-heimdal libkrb5-3 libkrb5support0 libldap-2.4-2 > #5 3.130 libnettle6 libp11-kit0 libroken18-heimdal librtmp1 libsasl2-2 > #5 3.130 libsasl2-modules libsasl2-modules-db libsqlite3-0 libssl1.0.0 libtasn1-6 > #5 3.130 libwind0-heimdal openssl > #5 3.261 0 upgraded, 35 newly installed, 0 to remove and 0 not upgraded. > #5 3.261 Need to get 4370 kB of archives. > #5 3.261 After this operation, 17.3 MB of additional disk space will be used. > #5 3.261 Get:1 http://ports.ubuntu.com/ubuntu-ports xenial/main arm64 libffi6 arm64 3.2.1-4 [16.3 kB] > #5 3.353 Get:2 http://ports.ubuntu.com/ubuntu-ports xenial/main arm64 libgmp10 arm64 2:6.1.0+dfsg-2 [202 kB] > #5 3.483 Get:3 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libnettle6 arm64 3.2-1ubuntu0.16.04.2 [96.1 kB] > #5 3.504 Get:4 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libhogweed4 arm64 3.2-1ubuntu0.16.04.2 [127 kB] > #5 3.526 Get:5 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libidn11 arm64 1.32-3ubuntu1.2 [42.9 kB] > #5 3.530 Get:6 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libp11-kit0 arm64 0.23.2-5~ubuntu16.04.2 [84.1 kB] > #5 3.540 Get:7 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libtasn1-6 arm64 4.7-3ubuntu0.16.04.3 [38.0 kB] > #5 3.544 Get:8 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libgnutls30 arm64 3.4.10-4ubuntu1.9 [438 kB] > #5 3.575 Get:9 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libsqlite3-0 arm64 3.11.0-1ubuntu1.5 [335 kB] > #5 3.593 Get:10 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libssl1.0.0 arm64 1.0.2g-1ubuntu4.20 [693 kB] > #5 3.619 Get:11 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libkrb5support0 arm64 1.13.2+dfsg-5ubuntu2.2 [28.3 kB] > #5 3.619 Get:12 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libk5crypto3 arm64 1.13.2+dfsg-5ubuntu2.2 [72.1 kB] > #5 3.622 Get:13 http://ports.ubuntu.com/ubuntu-ports xenial/main arm64 libkeyutils1 arm64 1.5.9-8ubuntu1 [9424 B] > #5 3.623 Get:14 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libkrb5-3 arm64 1.13.2+dfsg-5ubuntu2.2 [227 kB] > #5 3.628 Get:15 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libgssapi-krb5-2 arm64 1.13.2+dfsg-5ubuntu2.2 [97.2 kB] > #5 3.630 Get:16 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libroken18-heimdal arm64 1.7~git20150920+dfsg-4ubuntu1.16.04.1 [34.6 kB] > #5 3.631 Get:17 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libasn1-8-heimdal arm64 1.7~git20150920+dfsg-4ubuntu1.16.04.1 [127 kB] > #5 3.636 Get:18 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libhcrypto4-heimdal arm64 1.7~git20150920+dfsg-4ubuntu1.16.04.1 [70.5 kB] > #5 3.637 Get:19 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libheimbase1-heimdal arm64 1.7~git20150920+dfsg-4ubuntu1.16.04.1 [24.3 kB] > #5 3.663 Get:20 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libwind0-heimdal arm64 1.7~git20150920+dfsg-4ubuntu1.16.04.1 [47.1 kB] > #5 3.665 Get:21 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libhx509-5-heimdal arm64 1.7~git20150920+dfsg-4ubuntu1.16.04.1 [86.1 kB] > #5 3.668 Get:22 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libkrb5-26-heimdal arm64 1.7~git20150920+dfsg-4ubuntu1.16.04.1 [162 kB] > #5 3.673 Get:23 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libheimntlm0-heimdal arm64 1.7~git20150920+dfsg-4ubuntu1.16.04.1 [13.2 kB] > #5 3.674 Get:24 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libgssapi3-heimdal arm64 1.7~git20150920+dfsg-4ubuntu1.16.04.1 [76.5 kB] > #5 3.678 Get:25 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libsasl2-modules-db arm64 2.1.26.dfsg1-14ubuntu0.2 [13.0 kB] > #5 3.678 Get:26 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libsasl2-2 arm64 2.1.26.dfsg1-14ubuntu0.2 [41.4 kB] > #5 3.683 Get:27 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libldap-2.4-2 arm64 2.4.42+dfsg-2ubuntu3.13 [133 kB] > #5 3.703 Get:28 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 librtmp1 arm64 2.4+20151223.gitfa8646d-1ubuntu0.1 [48.4 kB] > #5 3.706 Get:29 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libcurl3-gnutls arm64 7.47.0-1ubuntu2.19 [156 kB] > #5 3.709 Get:30 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 apt-transport-https arm64 1.2.35 [24.8 kB] > #5 3.711 Get:31 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 openssl arm64 1.0.2g-1ubuntu4.20 [471 kB] > #5 3.721 Get:32 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 ca-certificates all 20210119~16.04.1 [148 kB] > #5 3.723 Get:33 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 krb5-locales all 1.13.2+dfsg-5ubuntu2.2 [13.7 kB] > #5 3.724 Get:34 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libsasl2-modules arm64 2.1.26.dfsg1-14ubuntu0.2 [40.1 kB] > #5 3.725 Get:35 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 curl arm64 7.47.0-1ubuntu2.19 [133 kB] > #5 3.773 debconf: delaying package configuration, since apt-utils is not installed > #5 3.785 Fetched 4370 kB in 0s (7827 kB/s) > #5 3.798 Selecting previously unselected package libffi6:arm64. > (Reading database ... 4774 files and directories currently installed.) > #5 3.801 Preparing to unpack .../libffi6_3.2.1-4_arm64.deb ... > #5 3.803 Unpacking libffi6:arm64 (3.2.1-4) ... > #5 3.818 Selecting previously unselected package libgmp10:arm64. > #5 3.819 Preparing to unpack .../libgmp10_2%3a6.1.0+dfsg-2_arm64.deb ... > #5 3.820 Unpacking libgmp10:arm64 (2:6.1.0+dfsg-2) ... > #5 3.846 Selecting previously unselected package libnettle6:arm64. > #5 3.847 Preparing to unpack .../libnettle6_3.2-1ubuntu0.16.04.2_arm64.deb ... > #5 3.848 Unpacking libnettle6:arm64 (3.2-1ubuntu0.16.04.2) ... > #5 3.868 Selecting previously unselected package libhogweed4:arm64. > #5 3.869 Preparing to unpack .../libhogweed4_3.2-1ubuntu0.16.04.2_arm64.deb ... > #5 3.870 Unpacking libhogweed4:arm64 (3.2-1ubuntu0.16.04.2) ... > #5 3.891 Selecting previously unselected package libidn11:arm64. > #5 3.891 Preparing to unpack .../libidn11_1.32-3ubuntu1.2_arm64.deb ... > #5 3.892 Unpacking libidn11:arm64 (1.32-3ubuntu1.2) ... > #5 3.910 Selecting previously unselected package libp11-kit0:arm64. > #5 3.910 Preparing to unpack .../libp11-kit0_0.23.2-5~ubuntu16.04.2_arm64.deb ... > #5 3.912 Unpacking libp11-kit0:arm64 (0.23.2-5~ubuntu16.04.2) ... > #5 3.932 Selecting previously unselected package libtasn1-6:arm64. > #5 3.932 Preparing to unpack .../libtasn1-6_4.7-3ubuntu0.16.04.3_arm64.deb ... > #5 3.933 Unpacking libtasn1-6:arm64 (4.7-3ubuntu0.16.04.3) ... > #5 3.950 Selecting previously unselected package libgnutls30:arm64. > #5 3.950 Preparing to unpack .../libgnutls30_3.4.10-4ubuntu1.9_arm64.deb ... > #5 3.951 Unpacking libgnutls30:arm64 (3.4.10-4ubuntu1.9) ... > #5 3.991 Selecting previously unselected package libsqlite3-0:arm64. > #5 3.992 Preparing to unpack .../libsqlite3-0_3.11.0-1ubuntu1.5_arm64.deb ... > #5 3.993 Unpacking libsqlite3-0:arm64 (3.11.0-1ubuntu1.5) ... > #5 4.029 Selecting previously unselected package libssl1.0.0:arm64. > #5 4.029 Preparing to unpack .../libssl1.0.0_1.0.2g-1ubuntu4.20_arm64.deb ... > #5 4.031 Unpacking libssl1.0.0:arm64 (1.0.2g-1ubuntu4.20) ... > #5 4.086 Selecting previously unselected package libkrb5support0:arm64. > #5 4.086 Preparing to unpack .../libkrb5support0_1.13.2+dfsg-5ubuntu2.2_arm64.deb ... > #5 4.087 Unpacking libkrb5support0:arm64 (1.13.2+dfsg-5ubuntu2.2) ... > #5 4.103 Selecting previously unselected package libk5crypto3:arm64. > #5 4.103 Preparing to unpack .../libk5crypto3_1.13.2+dfsg-5ubuntu2.2_arm64.deb ... > #5 4.105 Unpacking libk5crypto3:arm64 (1.13.2+dfsg-5ubuntu2.2) ... > #5 4.123 Selecting previously unselected package libkeyutils1:arm64. > #5 4.124 Preparing to unpack .../libkeyutils1_1.5.9-8ubuntu1_arm64.deb ... > #5 4.125 Unpacking libkeyutils1:arm64 (1.5.9-8ubuntu1) ... > #5 4.140 Selecting previously unselected package libkrb5-3:arm64. > #5 4.140 Preparing to unpack .../libkrb5-3_1.13.2+dfsg-5ubuntu2.2_arm64.deb ... > #5 4.142 Unpacking libkrb5-3:arm64 (1.13.2+dfsg-5ubuntu2.2) ... > #5 4.173 Selecting previously unselected package libgssapi-krb5-2:arm64. > #5 4.173 Preparing to unpack .../libgssapi-krb5-2_1.13.2+dfsg-5ubuntu2.2_arm64.deb ... > #5 4.175 Unpacking libgssapi-krb5-2:arm64 (1.13.2+dfsg-5ubuntu2.2) ... > #5 4.195 Selecting previously unselected package libroken18-heimdal:arm64. > #5 4.196 Preparing to unpack .../libroken18-heimdal_1.7~git20150920+dfsg-4ubuntu1.16.04.1_arm64.deb ... > #5 4.197 Unpacking libroken18-heimdal:arm64 (1.7~git20150920+dfsg-4ubuntu1.16.04.1) ... > #5 4.213 Selecting previously unselected package libasn1-8-heimdal:arm64. > #5 4.213 Preparing to unpack .../libasn1-8-heimdal_1.7~git20150920+dfsg-4ubuntu1.16.04.1_arm64.deb ... > #5 4.215 Unpacking libasn1-8-heimdal:arm64 (1.7~git20150920+dfsg-4ubuntu1.16.04.1) ... > #5 4.236 Selecting previously unselected package libhcrypto4-heimdal:arm64. > #5 4.237 Preparing to unpack .../libhcrypto4-heimdal_1.7~git20150920+dfsg-4ubuntu1.16.04.1_arm64.deb ... > #5 4.238 Unpacking libhcrypto4-heimdal:arm64 (1.7~git20150920+dfsg-4ubuntu1.16.04.1) ... > #5 4.257 Selecting previously unselected package libheimbase1-heimdal:arm64. > #5 4.257 Preparing to unpack .../libheimbase1-heimdal_1.7~git20150920+dfsg-4ubuntu1.16.04.1_arm64.deb ... > #5 4.259 Unpacking libheimbase1-heimdal:arm64 (1.7~git20150920+dfsg-4ubuntu1.16.04.1) ... > #5 4.274 Selecting previously unselected package libwind0-heimdal:arm64. > #5 4.275 Preparing to unpack .../libwind0-heimdal_1.7~git20150920+dfsg-4ubuntu1.16.04.1_arm64.deb ... > #5 4.276 Unpacking libwind0-heimdal:arm64 (1.7~git20150920+dfsg-4ubuntu1.16.04.1) ... > #5 4.294 Selecting previously unselected package libhx509-5-heimdal:arm64. > #5 4.294 Preparing to unpack .../libhx509-5-heimdal_1.7~git20150920+dfsg-4ubuntu1.16.04.1_arm64.deb ... > #5 4.295 Unpacking libhx509-5-heimdal:arm64 (1.7~git20150920+dfsg-4ubuntu1.16.04.1) ... > #5 4.315 Selecting previously unselected package libkrb5-26-heimdal:arm64. > #5 4.315 Preparing to unpack .../libkrb5-26-heimdal_1.7~git20150920+dfsg-4ubuntu1.16.04.1_arm64.deb ... > #5 4.316 Unpacking libkrb5-26-heimdal:arm64 (1.7~git20150920+dfsg-4ubuntu1.16.04.1) ... > #5 4.339 Selecting previously unselected package libheimntlm0-heimdal:arm64. > #5 4.340 Preparing to unpack .../libheimntlm0-heimdal_1.7~git20150920+dfsg-4ubuntu1.16.04.1_arm64.deb ... > #5 4.341 Unpacking libheimntlm0-heimdal:arm64 (1.7~git20150920+dfsg-4ubuntu1.16.04.1) ... > #5 4.356 Selecting previously unselected package libgssapi3-heimdal:arm64. > #5 4.356 Preparing to unpack .../libgssapi3-heimdal_1.7~git20150920+dfsg-4ubuntu1.16.04.1_arm64.deb ... > #5 4.357 Unpacking libgssapi3-heimdal:arm64 (1.7~git20150920+dfsg-4ubuntu1.16.04.1) ... > #5 4.375 Selecting previously unselected package libsasl2-modules-db:arm64. > #5 4.376 Preparing to unpack .../libsasl2-modules-db_2.1.26.dfsg1-14ubuntu0.2_arm64.deb ... > #5 4.377 Unpacking libsasl2-modules-db:arm64 (2.1.26.dfsg1-14ubuntu0.2) ... > #5 4.392 Selecting previously unselected package libsasl2-2:arm64. > #5 4.392 Preparing to unpack .../libsasl2-2_2.1.26.dfsg1-14ubuntu0.2_arm64.deb ... > #5 4.393 Unpacking libsasl2-2:arm64 (2.1.26.dfsg1-14ubuntu0.2) ... > #5 4.412 Selecting previously unselected package libldap-2.4-2:arm64. > #5 4.413 Preparing to unpack .../libldap-2.4-2_2.4.42+dfsg-2ubuntu3.13_arm64.deb ... > #5 4.414 Unpacking libldap-2.4-2:arm64 (2.4.42+dfsg-2ubuntu3.13) ... > #5 4.436 Selecting previously unselected package librtmp1:arm64. > #5 4.437 Preparing to unpack .../librtmp1_2.4+20151223.gitfa8646d-1ubuntu0.1_arm64.deb ... > #5 4.438 Unpacking librtmp1:arm64 (2.4+20151223.gitfa8646d-1ubuntu0.1) ... > #5 4.457 Selecting previously unselected package libcurl3-gnutls:arm64. > #5 4.457 Preparing to unpack .../libcurl3-gnutls_7.47.0-1ubuntu2.19_arm64.deb ... > #5 4.458 Unpacking libcurl3-gnutls:arm64 (7.47.0-1ubuntu2.19) ... > #5 4.480 Selecting previously unselected package apt-transport-https. > #5 4.481 Preparing to unpack .../apt-transport-https_1.2.35_arm64.deb ... > #5 4.482 Unpacking apt-transport-https (1.2.35) ... > #5 4.498 Selecting previously unselected package openssl. > #5 4.499 Preparing to unpack .../openssl_1.0.2g-1ubuntu4.20_arm64.deb ... > #5 4.500 Unpacking openssl (1.0.2g-1ubuntu4.20) ... > #5 4.545 Selecting previously unselected package ca-certificates. > #5 4.545 Preparing to unpack .../ca-certificates_20210119~16.04.1_all.deb ... > #5 4.547 Unpacking ca-certificates (20210119~16.04.1) ... > #5 4.574 Selecting previously unselected package krb5-locales. > #5 4.574 Preparing to unpack .../krb5-locales_1.13.2+dfsg-5ubuntu2.2_all.deb ... > #5 4.576 Unpacking krb5-locales (1.13.2+dfsg-5ubuntu2.2) ... > #5 4.591 Selecting previously unselected package libsasl2-modules:arm64. > #5 4.592 Preparing to unpack .../libsasl2-modules_2.1.26.dfsg1-14ubuntu0.2_arm64.deb ... > #5 4.593 Unpacking libsasl2-modules:arm64 (2.1.26.dfsg1-14ubuntu0.2) ... > #5 4.609 Selecting previously unselected package curl. > #5 4.610 Preparing to unpack .../curl_7.47.0-1ubuntu2.19_arm64.deb ... > #5 4.611 Unpacking curl (7.47.0-1ubuntu2.19) ... > #5 4.626 Processing triggers for libc-bin (2.23-0ubuntu11.3) ... > #5 4.646 Setting up libffi6:arm64 (3.2.1-4) ... > #5 4.650 Setting up libgmp10:arm64 (2:6.1.0+dfsg-2) ... > #5 4.654 Setting up libnettle6:arm64 (3.2-1ubuntu0.16.04.2) ... > #5 4.657 Setting up libhogweed4:arm64 (3.2-1ubuntu0.16.04.2) ... > #5 4.660 Setting up libidn11:arm64 (1.32-3ubuntu1.2) ... > #5 4.664 Setting up libp11-kit0:arm64 (0.23.2-5~ubuntu16.04.2) ... > #5 4.667 Setting up libtasn1-6:arm64 (4.7-3ubuntu0.16.04.3) ... > #5 4.671 Setting up libgnutls30:arm64 (3.4.10-4ubuntu1.9) ... > #5 4.674 Setting up libsqlite3-0:arm64 (3.11.0-1ubuntu1.5) ... > #5 4.681 Setting up libssl1.0.0:arm64 (1.0.2g-1ubuntu4.20) ... > #5 4.721 Setting up libkrb5support0:arm64 (1.13.2+dfsg-5ubuntu2.2) ... > #5 4.724 Setting up libk5crypto3:arm64 (1.13.2+dfsg-5ubuntu2.2) ... > #5 4.727 Setting up libkeyutils1:arm64 (1.5.9-8ubuntu1) ... > #5 4.731 Setting up libkrb5-3:arm64 (1.13.2+dfsg-5ubuntu2.2) ... > #5 4.733 Setting up libgssapi-krb5-2:arm64 (1.13.2+dfsg-5ubuntu2.2) ... > #5 4.738 Setting up libroken18-heimdal:arm64 (1.7~git20150920+dfsg-4ubuntu1.16.04.1) ... > #5 4.741 Setting up libasn1-8-heimdal:arm64 (1.7~git20150920+dfsg-4ubuntu1.16.04.1) ... > #5 4.744 Setting up libhcrypto4-heimdal:arm64 (1.7~git20150920+dfsg-4ubuntu1.16.04.1) ... > #5 4.747 Setting up libheimbase1-heimdal:arm64 (1.7~git20150920+dfsg-4ubuntu1.16.04.1) ... > #5 4.750 Setting up libwind0-heimdal:arm64 (1.7~git20150920+dfsg-4ubuntu1.16.04.1) ... > #5 4.753 Setting up libhx509-5-heimdal:arm64 (1.7~git20150920+dfsg-4ubuntu1.16.04.1) ... > #5 4.756 Setting up libkrb5-26-heimdal:arm64 (1.7~git20150920+dfsg-4ubuntu1.16.04.1) ... > #5 4.760 Setting up libheimntlm0-heimdal:arm64 (1.7~git20150920+dfsg-4ubuntu1.16.04.1) ... > #5 4.763 Setting up libgssapi3-heimdal:arm64 (1.7~git20150920+dfsg-4ubuntu1.16.04.1) ... > #5 4.766 Setting up libsasl2-modules-db:arm64 (2.1.26.dfsg1-14ubuntu0.2) ... > #5 4.769 Setting up libsasl2-2:arm64 (2.1.26.dfsg1-14ubuntu0.2) ... > #5 4.772 Setting up libldap-2.4-2:arm64 (2.4.42+dfsg-2ubuntu3.13) ... > #5 4.781 Setting up librtmp1:arm64 (2.4+20151223.gitfa8646d-1ubuntu0.1) ... > #5 4.784 Setting up libcurl3-gnutls:arm64 (7.47.0-1ubuntu2.19) ... > #5 4.787 Setting up apt-transport-https (1.2.35) ... > #5 4.790 Setting up openssl (1.0.2g-1ubuntu4.20) ... > #5 4.795 Setting up ca-certificates (20210119~16.04.1) ... > #5 5.209 Setting up krb5-locales (1.13.2+dfsg-5ubuntu2.2) ... > #5 5.213 Setting up libsasl2-modules:arm64 (2.1.26.dfsg1-14ubuntu0.2) ... > #5 5.216 Setting up curl (7.47.0-1ubuntu2.19) ... > #5 5.219 Processing triggers for libc-bin (2.23-0ubuntu11.3) ... > #5 5.225 Processing triggers for ca-certificates (20210119~16.04.1) ... > #5 5.230 Updating certificates in /etc/ssl/certs... > #5 6.531 129 added, 0 removed; done. > #5 6.531 Running hooks in /etc/ca-certificates/update.d... > #5 6.532 done. > #5 6.570 % Total % Received % Xferd Average Speed Time Time Time Current > #5 6.572 Dload Upload Total Spent Left Speed > 100 983 100 983 0 0 262 0 0:00:03 0:00:03 --:--:-- 262 > #5 10.40 OK > #5 10.40 % Total % Received % Xferd Average Speed Time Time Time Current > #5 10.40 Dload Upload Total Spent Left Speed > 100 91 100 91 0 0 118 0 --:--:-- --:--:-- --:--:-- 118 > #5 11.17 deb [arch=amd64] https://packages.microsoft.com/ubuntu/16.04/mssql-server-2017 xenial main > #5 11.33 Hit:1 http://ports.ubuntu.com/ubuntu-ports xenial InRelease > #5 11.36 Hit:2 http://ports.ubuntu.com/ubuntu-ports xenial-updates InRelease > #5 11.41 Hit:3 http://ports.ubuntu.com/ubuntu-ports xenial-backports InRelease > #5 11.45 Hit:4 http://ports.ubuntu.com/ubuntu-ports xenial-security InRelease > #5 16.98 Get:5 https://packages.microsoft.com/ubuntu/16.04/mssql-server-2017 xenial InRelease [3995 B] > #5 17.12 Get:6 https://packages.microsoft.com/ubuntu/16.04/mssql-server-2017 xenial/main amd64 Packages [20.9 kB] > #5 17.14 Fetched 24.9 kB in 5s (4219 B/s) > #5 17.14 Reading package lists... > #5 17.69 Reading package lists... > #5 18.22 Building dependency tree... > #5 18.32 Reading state information... > #5 18.34 E: Unable to locate package mssql-server > ------ > executor failed running [/bin/sh -c export DEBIAN_FRONTEND=noninteractive && apt-get update && apt-get install -yq curl apt-transport-https && curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - && curl https://packages.microsoft.com/config/ubuntu/16.04/mssql-server-2017.list | tee /etc/apt/sources.list.d/mssql-server.list && apt-get update && apt-get install -y mssql-server && apt-get install -y mssql-server-ha && apt-get install -y mssql-server-fts && apt-get clean && rm -rf /var/lib/apt/lists]: exit code: 100 > ``` > > Any ideas?

@robertlyson you need to specify the platform. This works for me. docker run --platform linux/amd64 -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=StrongPassword!" -p 1433:1433 mcr.microsoft.com/mssql/server:2022-latest

robertlyson commented 1 year ago

@schmitch / @jordantshaw that did the trick, thanks!

Meligy commented 1 year ago

In my case, running a Dockerfile that adds to benjaminabt/mssql-fts:2019-cu10-ubuntu-2004 for full text support in MS SQL and using docker-compose, setting platform as an environment variable to " linux/amd64" didn't work. I still got an error that linux/arm64/v8 was not supported.

What seemed to work was to turn off containerd in settings:

image

I still got warnings, but at least it worked, and the speed was OK

image

arturnasennik commented 1 year ago

when i activate rosseta i get

Screenshot 2023-01-17 at 10 24 07
Jolg42 commented 1 year ago

I'm not sure why the checkbox doesn't show 🤔

Details Version Screenshot 2023-01-17 at 09 43 08 No checkbox Screenshot 2023-01-17 at 09 42 56 General Screenshot 2023-01-17 at 09 46 35

I have the latest version of Docker Desktop 😢 OS: macOS 12.6.2 (Monterey) on MacBook Pro M1 Could someone help me figure this out?

jimbruges commented 1 year ago

@Jolg42 it is only enabled for Ventura macOS and up

bd82 commented 1 year ago

Thanks a-lot for this Rosetta 2 integration.

I'm building Open VSCode Server (fork of VSCode) and I need this to run on linux/amd64 platform due to binaries compatibilities issues (node-gyp...) The deps install phase includes 40+ invocations of yarn install in various sub-folders of the vscode repo.

Results:

So I am very happy with only a ~20% overhead for using a none native image 🎉

jjimenez commented 1 year ago

I've been fighting to get oracle up and running this way and not having any luck.
the command docker run -d --name oracle_db --pull always --platform linux/amd64 container-registry.oracle.com/database/express:21.3.0-xe results in a broken container I can't su in the container (even as root) the only difference here between a working container on colima and this is that rosetta is running bash when I log into this one. I'm going to go away for a while and come back hopefully when someone else has it figured out.

donperi commented 1 year ago

Thanks for this feature Docker team!

I'm having issues with a x86 image of elastic search when enabling this.

The error is:

2023-01-17 16:58:12 Exception in thread "main" java.io.IOException: Cannot run program "/usr/share/elasticsearch/jdk/bin/java": error=0, Failed to exec spawn helper: pid: 164, exit value: 1
2023-01-17 16:58:12     at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1128)
2023-01-17 16:58:12     at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1071)
2023-01-17 16:58:12     at org.elasticsearch.tools.launchers.JvmErgonomics.flagsFinal(JvmErgonomics.java:114)
2023-01-17 16:58:12     at org.elasticsearch.tools.launchers.JvmErgonomics.finalJvmOptions(JvmErgonomics.java:88)
2023-01-17 16:58:12     at org.elasticsearch.tools.launchers.JvmErgonomics.choose(JvmErgonomics.java:59)
2023-01-17 16:58:12     at org.elasticsearch.tools.launchers.JvmOptionsParser.jvmOptions(JvmOptionsParser.java:139)
2023-01-17 16:58:12     at org.elasticsearch.tools.launchers.JvmOptionsParser.main(JvmOptionsParser.java:95)
2023-01-17 16:58:12 Caused by: java.io.IOException: error=0, Failed to exec spawn helper: pid: 164, exit value: 1
2023-01-17 16:58:12     at java.base/java.lang.ProcessImpl.forkAndExec(Native Method)
2023-01-17 16:58:12     at java.base/java.lang.ProcessImpl.<init>(ProcessImpl.java:319)
2023-01-17 16:58:12     at java.base/java.lang.ProcessImpl.start(ProcessImpl.java:250)
2023-01-17 16:58:12     at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1107)
2023-01-17 16:58:12     ... 6 more

Docker run for testing:

docker run --name test_elastic -p 9200:9200 -e xpack.security.enabled=false -e discovery.type=single-node elasticsearch:7.7.0
wumpus commented 1 year ago

Love this new feature. I built a huuuuuuge package of astronomy software (HEASOFT) and the build time (compared to building on a real amd64 server) was 2.8X -- not bad for emulation.

nicolabeghin commented 1 year ago

Similar issue with forking on Groovy side, maybe related?

2023-01-17 16:58:12 Caused by: java.io.IOException: error=0, Failed to exec spawn helper: pid: 164, exit value: 1

image

Harmenius commented 1 year ago

when i activate rosseta i get Screenshot 2023-01-17 at 10 24 07

#0 1.494 assertion failed [result.value != EEXIST]: VmTracker attempted to allocate existing mapping
#0 1.494 (ThreadContextVm.cpp:47 mmap)

I can confirm this is an error that pops up often, although I do not see a pattern to it. For me it tends to happen during RUN yarn build, so it would appear it's not specific to php. I use an image based off of node:18-alpine on Docker Desktop 4.16.1 (95567). It does not seem to happen for some other images (without yarn build) I use.

nickives commented 1 year ago

Can confirm that Oracle doesn't seem to like running under Rosetta. There's an Oracle XE image at gvenzl/oracle-xe:21 that's used by testcontainers and which just terminates with:

Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC_FOR_XE)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=0.0.0.0)(PORT=1521)))
The listener supports no services
The command completed successfully
ORA-03113: end-of-file on communication channel

It works fine on amd64 hardware obviously. It doesn't work under QEMU either for what it's worth.

Rosetta is definitely faster than QEMU though. Hopefully these issues can be worked out.

mnaujokas commented 1 year ago

For anyone having issues with Oracle DB(19c) setup. I was able to set it up and run successfully on M1 pro following similar instructions as discussed here https://github.com/oracle/docker-images/discussions/1951#discussioncomment-4664280

The issue seems to stem from install scripts, some of the setup utilities do not work under rosetta emulation. The actual database service has no problem running on Rosetta and based on my findings performance is ~7.5x faster than qemu and only ~25% slower compared to native amd64. That's huge.

General steps to follow:

  1. Start oracle db container on amd64 machine
  2. Follow the same steps to start oracle container on arm64 mac with --platform linux/amd64
  3. Wait till installation fails, and stop the container.
  4. Replace the contents of oracle home on mac with the files from your amd64 machine.
  5. Start oracle db container on your arm64 machine.
christophermclellan commented 1 year ago

Hi everyone ! lot’s of great feedback on this thread. thanks for testing it out and letting us know about your issues. it’s great to see the performance benchmarks as well, thanks a lot for sharing those.

@jjimenez and @nickives , did the above suggestion from @mnaujokas solve your problem ?

@arturnasennik and @Harmenius , could one of you possibly replicate the assertion failed error again and send me a diagnostic id so that we can look in to this ? thanks in advance if you're able to do this.

@Finn-Ko, is your issue resolved now ? do you still have a need to specify individual containers that you want to use Rosetta emulation ? we’re aware that it won’t work with every image so i’m wondering whether we should look in to providing this granularity. if anyone’s interested in this then please let me know !

Finn-Ko commented 1 year ago

@Finn-Ko, is your issue resolved now ? do you still have a need to specify individual containers that you want to use Rosetta emulation ? we’re aware that it won’t work with every image so i’m wondering whether we should look in to providing this granularity. if anyone’s interested in this then please let me know !

My issue is not resolved yet and whenever I need both containers at the same time I need to use the old colima solution. Therefore I would be very happy if a future update would include a way to select the emulation method for individual containers. :)

jjimenez commented 1 year ago

@jjimenez and , did the above suggestion from @mnaujokas solve your problem ?

Unfortunately, I can't even get the base container for oracle to come up enough to be able to log into it:

docker run -d --name oracle_db --pull always --platform linux/amd64 container-registry.oracle.com/database/express:21.3.0-xe

does not result in a container that I can log into so I can replace the oracle_base directory contents.

wumpus commented 1 year ago

I decided to try to replicate @jjimenez's problem:

docker run -d --name oracle_db --pull always --platform linux/amd64 container-registry.oracle.com/database/express:21.3.0-xe
$ docker ps -a
CONTAINER ID   IMAGE                                                      COMMAND                  CREATED         STATUS                            PORTS     NAMES
cf323995e0fa   container-registry.oracle.com/database/express:21.3.0-xe   "/bin/sh -c 'exec $O…"   8 seconds ago   Up 6 seconds (health: starting)             oracle_db
$ docker exec -it cf323995e0fa bash
bash-4.2$ hostname
cf323995e0fa

So as you can see, it works for me. Exact versions:

Docker version 20.10.22, build 3a2c30b
macOS Ventura Version 13.1 (22C65)
jjimenez commented 1 year ago

I decided to try to replicate @jjimenez's problem:

docker run -d --name oracle_db --pull always --platform linux/amd64 container-registry.oracle.com/database/express:21.3.0-xe
$ docker ps -a
CONTAINER ID   IMAGE                                                      COMMAND                  CREATED         STATUS                            PORTS     NAMES
cf323995e0fa   container-registry.oracle.com/database/express:21.3.0-xe   "/bin/sh -c 'exec $O…"   8 seconds ago   Up 6 seconds (health: starting)             oracle_db
$ docker exec -it cf323995e0fa bash
bash-4.2$ hostname
cf323995e0fa

So as you can see, it works for me. Exact versions:

Docker version 20.10.22, build 3a2c30b
macOS Ventura Version 13.1 (22C65)

Thanks for trying, if you notice the health status of the system, it is "starting" and, if you manage to check the logs, with docker logs oracle_db, you will see some error messages.

nickives commented 1 year ago

Hi everyone ! lot’s of great feedback on this thread. thanks for testing it out and letting us know about your issues. it’s great to see the performance benchmarks as well, thanks a lot for sharing those.

@jjimenez and @nickives , did the above suggestion from @mnaujokas solve your problem ?

It seems a bit fiddly and I couldn't get it to work. None of the official Oracle images work either. It's the same as @jjimenez reports above: The database is stuck starting.

milosivanovic commented 1 year ago

I'm not seeing the option to enable Rosetta 2 in Docker for Mac 4.16.1. According to reports, I should be able to see that option under the "Beta features" tab in "Features in development". Does anyone know why it's not showing for me?

Screen Shot 2023-01-19 at 3 52 01 PM

Edit: I just saw an explanation above:

@Jolg42 it is only enabled for Ventura macOS and up

I guess I have to upgrade.

neorrk commented 1 year ago

Are you using the latest version of Ventura?

On Fri, Jan 20, 2023, 00:53 Milos Ivanovic @.***> wrote:

I'm not seeing the option to enable Rosetta 2 in Docker for Mac 4.16.1. According to reports, I should be able to see that option under the "Beta features" tab in "Features in development". Does anyone know why it's not showing for me?

[image: Screen Shot 2023-01-19 at 3 52 01 PM] https://user-images.githubusercontent.com/1274505/213587688-052844d8-b902-49d6-bd1b-8c2397eab647.png

— Reply to this email directly, view it on GitHub https://github.com/docker/roadmap/issues/384#issuecomment-1397755524, or unsubscribe https://github.com/notifications/unsubscribe-auth/AN4OXSFRVXUHO55DWMQSAG3WTHHYVANCNFSM52MJI7UA . You are receiving this because you are subscribed to this thread.Message ID: @.***>

Harmenius commented 1 year ago

@arturnasennik and @Harmenius , could one of you possibly replicate the assertion failed error again and send me a diagnostic id so that we can look in to this ? thanks in advance if you're able to do this.

I have tried a few diagnostics runs from the command-line. Here are the IDs I am most confident caught the error: 272D3088-CF48-4334-9D9E-8CDB5D9AD37F/20230120080357 272D3088-CF48-4334-9D9E-8CDB5D9AD37F/20230120080244

stuartmilne commented 1 year ago

Might be a stupid question but can someone help? All of our binaries run on amd64. Should the Ubuntu container have platform --platform linux/amd64 specified?

radu-diaconescu13 commented 1 year ago

@stuartmilne thats what I did. I specified "--platform linux/amd64 " when doing both docker build and run. I am running only mac OS 12.5, so I dont have the beta feature mentioned above, but I see I can run the docker containers regardlessly. The only downside is that the containers are noticeably slower, but hopefully that will be resolved when I will do the update to mac OS 13.1