Ana bilgisayar neden bir docker kapsayıcısından daha belirleyici davranabilir?

oy
40

Yapı ortamını iyi tanımlamak ve deterministik yapılara yardımcı olmak için Docker'ı kullanıyoruz, ancak makinemde Docker kullanarak yapı sonuçlarında küçük bir değişiklik elde ediyorum, ancak Docker'ı kullanmadığınızda değil.

Oldukça kapsamlı testler yaptım ve fikirlerim tükendi :(

Aşağıdaki sistemleri test ettim:

  • A : Docker olmadan yeni bilgisayarım
  • AD1 : Yeni bilgisayarım Docker ile, ubuntu tabanlı Dockerfile'ımızı kullanarak: 18.04 "bir yıl önce" derlendi
  • AD2 : Yeni bilgisayarım Docker ile, şimdi derlenen ubuntu: 19: 10 tabanlı Dockerfile'ımızı kullanarak
  • B : Docker olmadan dizüstü bilgisayarım (diski yeni bilgisayarıma kopyaladığım)
  • BD : Docker özellikli dizüstü bilgisayarım
  • CD1 : İş arkadaşının Docker ile yaptığı dizüstü bilgisayar, Ubuntu tabanlı Dockerfile'ımızı kullanarak: 18.04 "bir yıl önce" derlendi
  • CD2 : İş arkadaşınızın Docker ile yaptığı dizüstü bilgisayar, şimdi derlenen ubuntu: 19: 10 tabanlı Dockerfile'ımızı kullanıyor
  • DD : Ubuntu tabanlı Dockerfile'ımızla Dijital Okyanus VPS: 18.04 derlendi

Tüm senaryolarda iki yapı sonucundan birini aldık ve X ve Y değişkenini adlandıracağım.

  • A, B, CD1, CD2 ve DD'yi kullanarak X varyantını aldık.
  • AD1, AD2 ve BD kullanarak Y değişkenini aldık.

Android uygulamamızın birkaç sürümünden beri sorun% 100 tekrarlanabilir. Docker'ımı 19.03.6'dan 19.03.8'e güncellediğimde iş arkadaşımın sürümüyle eşleşmedi. İkimiz de o zaman Ubuntu 19.10 vardı ve şimdi Ubuntu 20.04 ile ilgili sorunu almaya devam ediyorum.

Projemizi her zaman yeni bir klasöre klonladım, dosya sistemi sıralama sorunlarını ortadan kaldırmak için disorderfs kullandım ve klasörü docker konteynerine monte ettim.

İlgili olduğundan şüpheliyim ama bu Dockerfile'ı kullanıyoruz:

FROM ubuntu:18.04

RUN dpkg --add-architecture i386 && \
    apt-get update -y && \
    apt-get install -y software-properties-common && \
    apt-get update -y && \
    apt-get install -y wget \
            openjdk-8-jre-headless=8u162-b12-1 \
            openjdk-8-jre=8u162-b12-1 \
            openjdk-8-jdk-headless=8u162-b12-1 \
            openjdk-8-jdk=8u162-b12-1 \
            git unzip && \
    rm -rf /var/lib/apt/lists/* && \
    apt-get autoremove -y && \
    apt-get clean

# download and install Android SDK
ARG ANDROID_SDK_VERSION=4333796
ENV ANDROID_HOME /opt/android-sdk
RUN mkdir -p /opt/android-sdk && cd /opt/android-sdk && \
    wget -q https://dl.google.com/android/repository/sdk-tools-linux-${ANDROID_SDK_VERSION}.zip && \
    unzip *tools*linux*.zip && \
    rm *tools*linux*.zip && \
    yes | $ANDROID_HOME/tools/bin/sdkmanager --licenses

Ayrıca burada çalıştırdığım ve farklı sonuçlar elde ettiğim oluşturma talimatları. Farkın kendisi burada bulunabilir.


Düzenleme: Ben de docker repo bir hata olarak dosyaladı.

Oluştur 22/05/2020 saat 06:40
kaynak kullanıcı
Diğer dillerde...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more