我使用自主机gitlab运行docker:dind image进行ci测试。
我运行命令apk add --no-cache py-pip
和pip install docker-compose
。
但它得到了以下错误。
Exception:
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/pip/basecommand.py", line 215, in main
status = self.run(options, args)
File "/usr/lib/python2.7/site-packages/pip/commands/install.py", line 324, in run
requirement_set.prepare_files(finder)
File "/usr/lib/python2.7/site-packages/pip/req/req_set.py", line 380, in prepare_files
ignore_dependencies=self.ignore_dependencies))
File "/usr/lib/python2.7/site-packages/pip/req/req_set.py", line 620, in _prepare_file
session=self.session, hashes=hashes)
File "/usr/lib/python2.7/site-packages/pip/download.py", line 821, in unpack_url
hashes=hashes
File "/usr/lib/python2.7/site-packages/pip/download.py", line 659, in unpack_http_url
hashes)
File "/usr/lib/python2.7/site-packages/pip/download.py", line 853, in _download_http_url
stream=True,
File "/usr/lib/python2.7/site-packages/pip/_vendor/requests/sessions.py", line 488, in get
return self.request('GET', url, **kwargs)
File "/usr/lib/python2.7/site-packages/pip/download.py", line 386, in request
return super(PipSession, self).request(method, url, *args, **kwargs)
File "/usr/lib/python2.7/site-packages/pip/_vendor/requests/sessions.py", line 475, in request
resp = self.send(prep, **send_kwargs)
File "/usr/lib/python2.7/site-packages/pip/_vendor/requests/sessions.py", line 596, in send
r = adapter.send(request, **kwargs)
File "/usr/lib/python2.7/site-packages/pip/_vendor/cachecontrol/adapter.py", line 47, in send
resp = super(CacheControlAdapter, self).send(request, **kw)
File "/usr/lib/python2.7/site-packages/pip/_vendor/requests/adapters.py", line 497, in send
raise SSLError(e, request=request)
SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:661)
我尝试使用- pip install requests==2.15.1; pip uninstall -y certifi
和pip install -upgrade pip --trusted-host pypi.python.org
但我仍然有这个错误。我不确定我的gitlab配置是错误的还是docker镜像。请帮我解决这个问题。
这是我的gitab-ci.yml
image: docker:latest
services:
- docker:dind
# When using dind, it's wise to use the overlayfs driver for
# improved performance.
variables:
DOCKER_DRIVER: overlay2
BUILD_TAG: $CI_JOB_NAME-$CI_JOB_ID
stages:
- test
before_script:
- apk add --no-cache py-pip
- pip install requests==2.15.1
- pip uninstall -y certifi
- pip install docker-compose
after_script:
- docker system prune --filter "label=CI-TEST=$BUILD_TAG" -af
test:
stage: test
script:
- sed -i 's/TAG/'$CI_JOB_ID'/g' ./docker/Dockerfile-web
- sed -i 's/ci-label/'$BUILD_TAG'/g' ./docker/Dockerfile-base
- sed -i 's/ci-label/'$BUILD_TAG'/g' ./docker/docker-compose-test.yml
- sed -i 's/ci-network/'$BUILD_TAG'/g' ./docker/docker-compose-test.yml
- docker build -f docker/Dockerfile-base --build-arg DOCKER_TEST=true -t bizcloud_base:$CI_JOB_ID .
- docker-compose -f docker/docker-compose-test.yml up --build --abort-on-container-exit