当使用GitLab CI以及它时gitlab-ci-multi-runner,我无法获得内部启动的Docker容器以将其端口暴露给"主机",这是运行构建的Docker映像.
我的.gitlab-ci.yml档案:
test:
image: docker
stage: test
services:
- docker:dind
script:
- APP_CONTAINER_ID=`docker run -d --privileged -p "9143:9143" appropriate/nc nc -l 9143`
- netstat -a
- docker exec $APP_CONTAINER_ID netstat -a
- nc -v localhost 9143
Run Code Online (Sandbox Code Playgroud)
我的命令:
gitlab-ci-multi-runner exec docker --docker-privileged test
Run Code Online (Sandbox Code Playgroud)
输出:
$ netstat -a
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 runner--project-1-concurrent-0:54664 docker:2375 TIME_WAIT
tcp 0 0 runner--project-1-concurrent-0:54666 docker:2375 TIME_WAIT
Active UNIX domain …Run Code Online (Sandbox Code Playgroud)