Điểm:0

Không thể liên kết âm lượng giữa vùng chứa và vùng chứa khác (docker-in-docker)

lá cờ cn

Tôi cố gắng thiết lập trình chạy gitlab trên MacBook M1 của mình để thử nghiệm môi trường. Quy trình công việc CI của tôi khá đơn giản: xây dựng -> kiểm tra -> triển khai. Tôi sử dụng trình thực thi docker và để kiểm tra các tác vụ tôi sử dụng soạn thảo docker vì tôi phải triển khai cơ sở dữ liệu bên cạnh dịch vụ mà tôi muốn kiểm tra.

CI của tôi hoạt động hoàn hảo trên EC2 chạy Ubuntu. Nhưng khi tôi cố chạy trình chạy của mình trên macOS, ổ đĩa ./backend của tôi không được liên kết với/app. tôi đã cố gắng ls/ứng dụng trên phụ trợ container và với EC2, tất cả các tệp và thư mục đều ở đây nhưng không phải khi tôi chạy trình chạy trên macOS.

gitlab-ci.yml (đây chỉ là backend_test phần:

kiểm tra_phụ trợ:
  giai đoạn: kiểm tra
  nhu cầu: ["build_backend_image"]
  hình ảnh: docker
  dịch vụ:
    - docker: dind
  before_script:
    - đăng nhập docker -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
    - DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}
    - mkdir -p $DOCKER_CONFIG/cli-plugin
    - apk thêm cuộn tròn
    - 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
  kịch bản:
    - docker soạn -f docker-compose-ci.yml up -d db
    - docker exec db sh mongo_init.sh
    - docker soạn -f docker-compose-ci.yml up -d phụ trợ
    - pwd
    - ls
    - phụ trợ ls
    - pwd phụ trợ docker exec
    - phụ trợ docker exec ls -l
    - phụ trợ docker exec ls / -l
    - cài đặt pip3 phụ trợ docker exec --no-cache-dir --upgrade -r tests-test.txt
    - docker exec backend pytest test --junitxml=report.xml -p no:cacheprovider
  gián đoạn: đúng
  hiện vật:
    khi nào: luôn luôn
    báo cáo:
      Junit: backend/report.xml
  quy tắc:
    - nếu: $CI_PIPELINE_SOURCE == 'merge_request_event'
    - nếu: $CI_COMMIT_BRANCH == 'phát triển'
    - nếu: $CI_COMMIT_BRANCH == 'chính chủ'

gitlab-runner/config.toml:

đồng thời = 2
kiểm tra_khoảng = 0

[phiên_máy chủ]
  phiên_thời gian chờ = 1800


[[người chạy]]
  tên = "Macbook"
  url = "https://gitlab.com/"
  mã thông báo = "xxxxxxxxxx"
  người thi hành = "docker"
  [runners.custom_build_dir]
  [người chạy.cache]
    [runners.cache.s3]
    [runners.cache.gcs]
    [runners.cache.azure]
  [người chạy.docker]
    tls_verify = sai
    hình ảnh = "docker:20.10.13"
    đặc quyền = đúng
    disable_entrypoint_overwrite = false
    oom_kill_disable = sai
    vô hiệu hóa_cache = sai
    volume = ["/certs/client", "/cache"]
    shm_size = 0

Đầu ra ls của người chạy EC2:

phụ trợ $ docker exec ls /ứng dụng -l
tổng số 36
-rw-rw-rw- 1 gốc gốc 285 ngày 3 tháng 6 15:30 Dockerfile
-rw-rw-rw- 1 gốc gốc 325 ngày 20 tháng 5 23:49 DockerfileTest
-rw-rw-rw- 1 gốc gốc 48 ngày 20 tháng 5 23:49 __init__.py
drwxrwxrwx 11 root gốc 4096 4 17:17 ngày 4 tháng 6
-rw-rw-rw- 1 gốc gốc 4286 ngày 4 tháng 6 16:41 favicon.ico
-rw-rw-rw- 1 gốc gốc 33 ngày 4 tháng 6 16:41 yêu cầu-test.txt
-rw-rw-rw- 1 gốc gốc 1673 ngày 4 tháng 6 16:41 tests.txt
drwxrwxrwx 6 gốc gốc 4096 ngày 4 tháng 6 16:41 kiểm tra

đầu ra ls của người chạy macOS:

phụ trợ $ docker exec ls /ứng dụng -l
tổng số 0

docker-compose-ci.yml:

dịch vụ:
  phụ trợ:
    container_name: phụ trợ
    hình ảnh: $CI_REGISTRY_IMAGE/phụ trợ:$CI_COMMIT_SHA
    khối lượng:
      - ./phụ trợ:/ứng dụng
    mạng:
      mặc định:
    cổng:
      - 8000:8000
      - 587:587
      - 443:443
    phụ thuộc:
      - db

  đb:
    container_name: db
    hình ảnh: mongo
    khối lượng:
      - ./mongo_init.sh:/mongo_init.sh:ro
    mạng:
      mặc định:
    môi trường:
      MONGO_INITDB_DATABASE: xxxxxxx
      MONGO_INITDB_ROOT_USERNAME: quản trị viên
      MONGO_INITDB_ROOT_PASSWORD: quản trị viên
    cổng:
      - 27017:27017


mạng:
  mặc định:
    tài xế: cầu

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.