होस्ट एक डॉकटर कंटेनर की तुलना में अधिक निर्धारक व्यवहार क्यों कर सकता है?

वोट
40

हम Docker का उपयोग बिल्ड वातावरण को अच्छी तरह से परिभाषित करने और नियतात्मक बिल्ड के साथ मदद करने के लिए करते हैं, लेकिन अपनी मशीन पर मुझे Docker का उपयोग करते हुए बिल्ड परिणामों में एक छोटा सा परिवर्तन मिलता है, लेकिन Docker का उपयोग नहीं करते समय।

मैंने बहुत व्यापक परीक्षण किया और विचारों से बाहर हूँ :(

मैंने निम्नलिखित प्रणालियों पर परीक्षण किया:

  • एक : बिना डॉकर के मेरा नया पीसी
  • AD1 : डबेर के साथ मेरा नया पीसी, उबंटू पर आधारित हमारे डॉकरीफाइल का उपयोग करते हुए: 18.04 "एक वर्ष" संकलित
  • AD2 : डोकर के साथ मेरा नया पीसी, ubuntu पर आधारित हमारे डॉकफाइल का उपयोग करके: 19: 10 अब संकलित
  • बी : मेरा लैपटॉप (कि मैंने अपने नए पीसी से डिस्क को कॉपी किया था) बिना डॉकर के
  • BD : मेरा लैपटॉप डॉकर के साथ
  • CD1 : डोकर के साथ सहकर्मी का लैपटॉप, उबंटू पर आधारित हमारे डॉकरीफाइल का उपयोग करते हुए: 18.04 "एक साल पहले" संकलित
  • CD2 : डोकर के साथ सहकर्मी का लैपटॉप, ubuntu के आधार पर हमारे डॉकरीफाइल का उपयोग: 19: 10 संकलित
  • डीडी : उबंटू पर आधारित हमारे डॉकरीफाइल के साथ एक डिजिटल ओशन वीपीएस: 18.04 अब संकलित है

सभी परिदृश्यों में हमें या तो दो निर्माण परिणाम मिले, जिनका नाम मैं वेरिएंट एक्स और वाई होगा।

  • हमें ए, बी, सीडी 1, सीडी 2 और डीडी का उपयोग करके वेरिएंट एक्स मिला।
  • हमें AD1, AD2 और BD का उपयोग करके वेरिएंट Y मिला।

यह मुद्दा हमारे एंड्रॉइड ऐप के कई रिलीज के बाद से 100% प्रतिलिपि प्रस्तुत करने योग्य है। 19.03.6 से 19.03.8 तक अपने सह-कार्यकर्ता के संस्करण से मेल करने के लिए जब मैंने अपना डॉकर अपडेट किया तो यह दूर नहीं हुआ। हम दोनों ने उबंटू को 19.10 पर वापस कर दिया था और अब मैं उबंटू के साथ 20.04 का मुद्दा रख रहा हूं।

मैंने हमेशा नए प्रोजेक्ट में एक नए फ़ोल्डर में क्लोन किया, फ़ाइल सिस्टम सॉर्टिंग मुद्दों को खत्म करने के लिए डिसऑर्डर का इस्तेमाल किया और फ़ोल्डर को डॉकटर कंटेनर में माउंट किया।

मुझे संदेह है कि यह प्रासंगिक है लेकिन हम इस डॉकरफाइल का उपयोग कर रहे हैं:

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

इसके अलावा यहां निर्माण निर्देश मैं चलाने के लिए और अलग अलग परिणाम प्राप्त कर रहे हैं। यहाँ पर ही पाया जा सकता है


संपादित करें: मैंने इसे डॉकटर रेपो पर एक बग के रूप में दर्ज किया।

22/05/2020 को 06:40
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            

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