मैं सर्कल सीआई के साथ निरंतर एकीकरण प्रवाह बनाने की कोशिश कर रहा हूं। जब मैं अपने कोड को जीथब पर धकेलता हूं, तो प्रवाह शुरू होता है, लेकिन यह त्रुटि के साथ रुक जाता है:

    Build-agent version 0.0.4071-34fe4dc (2017-09-05T01:33:40+0000)
Starting container micheleminno/elasticsearch:latest
  image cache not found on this host, downloading micheleminno/elasticsearch:latest
latest: Pulling from micheleminno/elasticsearch
42a816b9ad19: Pull complete
5dabff016c33: Pull complete
e22082c539e8: Pull complete
57845aa0da23: Pull complete
3da62a3688f0: Pull complete
bce992ca3d80: Pull complete
2734c785c0d8: Pull complete
08cbf6dbba97: Pull complete
750b60032fcc: Pull complete
Digest: sha256:f07025f1da82ea87e70cac194929953a245ae4560086471c90b1756693246ec4
Status: Downloaded newer image for micheleminno/elasticsearch:latest
  using image micheleminno/elasticsearch@sha256:f07025f1da82ea87e70cac194929953a245ae4560086471c90b1756693246ec4
Starting container mysql:5.5
  using image mysql@sha256:7674d74d9f010b1500c1ae38f7af90014145ee3c92ddd65dd2e1edfd8c61270f
Starting container micheleminno/db-migrations
  image cache not found on this host, downloading micheleminno/db-migrations
latest: Pulling from micheleminno/db-migrations
c89e59f636b6: Pull complete
cfb692fa93ee: Pull complete
d607b85c45a1: Pull complete
0150b9c56763: Pull complete

CircleCI was unable to start the container because of a userns remapping failure in Docker.

This typically means the image contains files with UID/GID values that are higher than Docr and CircleCI can use.

Checkout our docs https://circleci.com/docs/2.0/high-uid-error/ to learn how to fix this problem.

Original error: failed to register layer: Error processing tar file(exit status 1): Container ID 5924152 cannot be mapped to a host ID

मैंने लिंक का अनुसरण किया और वहां जो सुझाव दिया वह किया, लेकिन मैं कर सका' उस आईडी के साथ कुछ भी नहीं मिला।

यहाँ मेरी कॉन्फ़िग सर्कल yml फ़ाइल है:

version: 2

jobs:
  build:
    docker:
      - image: micheleminno/elasticsearch:latest
      - image: mysql:5.5
        environment:
          MYSQL_ROOT_PASSWORD: password
          MYSQL_DATABASE: real-affinities-test
          MYSQL_USER: development
          MYSQL_PASSWORD: development
      - image: micheleminno/db-migrations
        environment:
          - NODE_ENV: development

    working_directory: ~/

    steps:
      - checkout
      - run:
          name: Build real-affinities and run tests
          command: docker-compose -f docker-compose.test.yml -p ci up --build

अद्यतन 09/09/2017:

मैंने सीधे डॉकरफाइल में फाइलों के स्वामित्व को बदलने के लिए @FelicianoTech सुझाव का पालन किया, परियोजना के डॉकरफाइल को अपडेट किया जो उच्च यूआईडी समस्या का कारण बनता है:

FROM node:8.1.4-alpine

WORKDIR /app

# add package.json and run npm install before adding the rest of the files
# this way, you only run npm install when package.json changes
ADD package.json /app
RUN npm install

# add the rest of the files
ADD . /app

# change ownership recursively of all files
RUN chown root:root . -R

CMD ["./node_modules/.bin/knex", "migrate:latest"]

लेकिन मुद्दा अब भी वहीं है.

1
Michele Minno 15 अगस्त 2017, 20:10
1
सबसे पहले, मुझे लगता है कि आपको सर्किलसीआई पर डॉकर दस्तावेज़ों को पढ़ना चाहिए। यहां बहुत कुछ गलत लगता है। कुछ फिर से लिखने के बाद, शायद आप इस मुद्दे से पूरी तरह बच सकते हैं।
 – 
FelicianoTech
15 अगस्त 2017, 23:12
धन्यवाद, जैसा आप सुझाव देंगे, मैं वैसा ही करूंगा।
 – 
Michele Minno
15 अगस्त 2017, 23:55
मैंने ऊपर देखा, अध्ययन किया और थोड़ी कोशिश की, मैंने config.yml फ़ाइल को अपडेट किया, लेकिन फिर भी वही त्रुटि हो रही है।
 – 
Michele Minno
6 सितंबर 2017, 16:53
यदि CircleCI ऊपर अप-टू-डेट है? मैंने पहली छवि खींचने की कोशिश की और वह हिस्सा मेरे लिए काम करता है। डॉकर कंपोज़ के लिए, आपको setup_remote_docker की आवश्यकता होगी।
 – 
FelicianoTech
8 सितंबर 2017, 21:31
कोई बात नहीं मुझे मिल गया, मेरा जवाब देखें।
 – 
FelicianoTech
8 सितंबर 2017, 21:52

1 उत्तर

सबसे बढ़िया उत्तर

समस्या तीसरी डॉकर छवि, micheleminno/db-migrations के साथ है। यदि आप छवि को स्थानीय रूप से चलाते हैं, और यह आदेश चलाते हैं:

ls -lah /app/node_modules/

आप देखेंगे कि कई निर्देशिकाओं की उपयोगकर्ता आईडी 65534 से ऊपर है। यही समस्या है। इस समस्या को ठीक करने के लिए उन आईडी को कुछ कम में बदलें।

1
FelicianoTech 8 सितंबर 2017, 21:57
धन्यवाद, मुझे वे उच्च आईडी मिले और उन्हें बदल दिया। लेकिन जब मैं छवि को फिर से चलाता हूं: docker run -it micheleminno/db-migrations sh, वे मूल उच्च यूआईडी पर वापस आ जाते हैं। शायद मेरे डॉकटर ज्ञान में कुछ कमी है ..
 – 
Michele Minno
9 सितंबर 2017, 12:34
Dockerfile में ID को बदलने की आवश्यकता है। उन्हें docker exec या इसी तरह से बदलने से वे चल रहे कंटेनर में बदल जाते हैं। वह कंटेनर अंततः फिर से बन जाता है जो एक ही समस्या का कारण बनता है जब तक कि आप इसे डॉकरफाइल में ठीक नहीं करते हैं।
 – 
FelicianoTech
9 सितंबर 2017, 21:01
आपके उत्तर के लिए धन्यवाद, कृपया उपरोक्त अद्यतन देखें।
 – 
Michele Minno
9 सितंबर 2017, 23:46