Score:0

ไม่สามารถผูกไดรฟ์ข้อมูลระหว่างคอนเทนเนอร์และคอนเทนเนอร์อื่นได้ (นักเทียบท่าในนักเทียบท่า)

ธง cn

ฉันพยายามตั้งค่า gitlab Runner บน M1 MacBook ของฉันสำหรับการทดสอบสภาพแวดล้อมบางอย่าง เวิร์กโฟลว์ CI ของฉันค่อนข้างง่าย: สร้าง -> ทดสอบ -> ปรับใช้. ฉันใช้ docker executor และสำหรับการทดสอบงานที่ฉันใช้ นักเทียบท่าเขียน เพราะฉันต้องปรับใช้ฐานข้อมูลข้างบริการที่ฉันต้องการทดสอบ

CI ของฉันทำงานได้อย่างสมบูรณ์บน EC2 ที่ใช้ Ubuntu แต่เมื่อฉันพยายามเรียกใช้นักวิ่งบน macOS ไดรฟ์ข้อมูล ./backend ของฉันไม่ผูกกับ /app ฉันพยายามที่จะ ls /แอป บน แบ็กเอนด์ คอนเทนเนอร์และด้วย EC2 ไฟล์และโฟลเดอร์ทั้งหมดจะอยู่ที่นี่ แต่ไม่ใช่เมื่อฉันรันรันเนอร์บน macOS

gitlab-ci.yml (นี่เป็นเพียง แบ็กเอนด์_ทดสอบ ส่วนหนึ่ง:

test_backend:
  ขั้นตอน: การทดสอบ
  ต้องการ: ["build_backend_image"]
  ภาพ: นักเทียบท่า
  บริการ:
    - นักเทียบท่า:dind
  before_script:
    - เข้าสู่ระบบนักเทียบท่า -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
    - DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}
    - mkdir -p $DOCKER_CONFIG/cli-ปลั๊กอิน
    - apk เพิ่มขด
    - curl -SL https://github.com/docker/compose/releases/download/v2.3.3/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose
    - chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose
  สคริปต์:
    - นักเทียบท่าเขียน -f นักเทียบท่าเขียน-ci.yml ขึ้น -d db
    - นักเทียบท่า exec db sh mongo_init.sh
    - นักเทียบท่าเขียน -f นักเทียบท่าเขียน-ci.yml ขึ้น -d แบ็กเอนด์
    - เอกสาร
    - ล
    - แบ็กเอนด์
    - นักเทียบท่า exec แบ็กเอนด์ pwd
    - นักเทียบท่า exec แบ็กเอนด์ ls -l
    - นักเทียบท่า exec แบ็กเอนด์ ls / -l
    - นักเทียบท่า exec แบ็กเอนด์ pip3 ติดตั้ง --no-cache-dir --upgrade -r ความต้องการ-test.txt
    - การทดสอบ pytest แบ็กเอนด์ของนักเทียบท่า exec --junitxml=report.xml -p no:cacheprovider
  ขัดจังหวะ: จริง
  สิ่งประดิษฐ์:
    เมื่อ: เสมอ
    รายงาน:
      Junit: แบ็กเอนด์/report.xml
  กฎ:
    - ถ้า: $CI_PIPELINE_SOURCE == 'merge_request_event'
    - ถ้า: $CI_COMMIT_BRANCH == 'พัฒนา'
    - ถ้า: $CI_COMMIT_BRANCH == 'หลัก'

gitlab-runner/config.toml:

พร้อมกัน = 2
check_interval = 0

[เซสชัน_เซิร์ฟเวอร์]
  session_timeout = 1800


[[นักวิ่ง]]
  ชื่อ = "แมคบุ๊ค"
  url = "https://gitlab.com/"
  โทเค็น = "xxxxxxxxxxx"
  ผู้บริหาร = "นักเทียบท่า"
  [นักวิ่ง.custom_build_dir]
  [รันเนอร์แคช]
    [รันเนอร์.แคช.s3]
    [runner.cache.gcs]
    [runners.cache.azure]
  [นักวิ่ง.นักเทียบท่า]
    tls_verify = เท็จ
    ภาพ = "นักเทียบท่า:20.10.13"
    สิทธิพิเศษ = จริง
    ปิดการใช้งาน_entrypoint_overwrite=เท็จ
    oom_kill_disable = เท็จ
    ปิดการใช้งานแคช = เท็จ
    ปริมาณ = ["/certs/client", "/cache"]
    shm_size = 0

เอาต์พุต EC2 รันเนอร์ ls:

$ นักเทียบท่า exec แบ็กเอนด์ ls /app -l
รวม 36
-rw-rw-rw- 1 รูทรูท 285 3 มิ.ย. 15:30 น. Dockerfile
-rw-rw-rw- 1 รูทรูท 325 20 พฤษภาคม 23:49 DockerfileTest
-rw-rw-rw- 1 รูทรูท 48 20 พฤษภาคม 23:49 __init__.py
drwxrwxrwx 11 รูทรูท 4096 4 มิ.ย. 17:17 น.
-rw-rw-rw- 1 รูทรูท 4286 4 มิ.ย. 16:41 favicon.ico
-rw-rw-rw- 1 รูทรูท 33 มิ.ย. 4 16:41 ข้อกำหนด-test.txt
-rw-rw-rw- 1 รูทรูท 1673 4 มิ.ย. 16:41 ข้อกำหนด.txt
drwxrwxrwx 6 รูทรูท 4096 4 มิ.ย. 16:41 ทดสอบ

เอาต์พุต macOS Runner ls:

$ นักเทียบท่า exec แบ็กเอนด์ ls /app -l
รวม 0

นักเทียบท่า-compose-ci.yml:

บริการ:
  แบ็กเอนด์:
    container_name: แบ็กเอนด์
    รูปภาพ: $CI_REGISTRY_IMAGE/แบ็กเอนด์:$CI_COMMIT_SHA
    ปริมาณ:
      - ./แบ็กเอนด์:/แอป
    เครือข่าย:
      ค่าเริ่มต้น:
    พอร์ต:
      - 8000:8000
      - 587:587
      - 443:443
    ขึ้นอยู่กับ:
      - ฐานข้อมูล

  ฐานข้อมูล:
    ชื่อคอนเทนเนอร์: ฐานข้อมูล
    ภาพ: mongo
    ปริมาณ:
      - ./mongo_init.sh:/mongo_init.sh:ro
    เครือข่าย:
      ค่าเริ่มต้น:
    สิ่งแวดล้อม:
      MONGO_INITDB_DATABASE: xxxxxxx
      MONGO_INITDB_ROOT_USERNAME: ผู้ดูแลระบบ
      MONGO_INITDB_ROOT_PASSWORD: ผู้ดูแลระบบ
    พอร์ต:
      - 27017:27017


เครือข่าย:
  ค่าเริ่มต้น:
    คนขับ: สะพาน

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา