2017-09-25 17 views
0

でドッカー利用できません私はそれがドッカーは、コンテナ内からコマンドを使用するためのサポートを提供するようdigitallumberjackによって提供さGitLab CIランナーを使用しようとしています。GitLab CIランナーコンテナ

GitLab CIランナースクリプト:

docker run --name gitlab-ci-multi-runner -d --restart=always \ 
    --volume /var/run/docker.sock:/var/run/docker.sock \ 
    --volume /mnt/data/gitlab/gitlab-runner:/home/gitlab_ci_multi_runner/data \ 
    --env='CI_SERVER_URL=https://gitlab.dev.abc.net/ci' --env='RUNNER_TOKEN=RijUZPnMjGeNF2JYt' \ 
    --env='RUNNER_DESCRIPTION=runnerA' --env='RUNNER_EXECUTOR=docker' \ 
    --env='RUNNER_DOCKER_IMAGE=docker:17.07.0-ce' --env='RUNNER_DOCKER_MODE=socket' \ 
    --link gitlab.dev.abc.net \ 
    digitallumberjack/docker-gitlab-ci-multi-runner:v9.3.0-1 

.gitlab-ci.yml内容:

image: node:6.11 

types: 
     - build 
     - deploy 

build_app: 
     type: build 
     script: "bash chmod +x ./configure_proxy_artifactory.sh" 
     script: "bash ./configure_proxy_artifactory.sh" 

GitLab CIが実行をビルドするときしかし、私が取得ランナーログに次のエラー:

./configure_proxy_artifactory.sh: line 13: docker: command not found 

Dockerが上記のランナースクリプトでまだ構成されていないようです。どのように私はこれを修正することができますか?

UPDATE:私はあなたが公式Gitlabランナーの画像を使用していない理由はわからない

[email protected]:/home/gitlab_ci_multi_runner# ls -l /var/run/docker.sock 
srw-rw---- 1 root docker 0 Jul 21 00:53 /var/run/docker.sock 
[email protected]:/home/gitlab_ci_multi_runner# docker ps 
bash: docker: command not found 
+0

あなたは、コンテナにアクセスして、ドッキングウィンドウpsを行うことができますか?また、/var/run/docker.sockがあるかどうか、どのようなアクセス許可があるかを見てください。 – Sergiu

+0

@Sergiu:私の投稿の「UPDATE」を確認してください。 – Technext

答えて

0

:コンテナ内から、ここに私の観察ですgitlab/gitlab-ランナー:最新のが、私はそれだけであると信じてまた、--privilegedフラグを渡して、それが役立つかどうかを確認することをお勧めします。

+0

'--privileged'フラグを追加してもエラーが発生します。 :(現在、私はドッカーコンテナとして動作している公式のオムニバスGitLabを使用しています。しかし、私はすぐにKubernetesにこれを移動します。Kubernetesで、私はGitLab、RedisのとPostgresのための別々の容器を使用することになります。このために、私がテストした[sameersbnさん](https://github.com/sameersbn/docker-gitlab)の画像を使用していますが、互換性の問題が発生しないように、これらの画像を使用したいと思います。また、GitLabの公式ランナーでもDockerのアクセスを提供しているとは思いません。それ? – Technext

+1

まあ、私はあなたが/var/run/docker.sockないよう多かれ少なかれ同じ設定でそのイメージを使用していると私は、実行時に変数を渡す必要はありませんでしたので、私はデータボリュームをマウントされた。 Runner01: 特権:真 画像:gitlab/gitlab-ランナー:最新 stdin_open:真 ボリューム: - の/ var /実行/ docker.sock:/var/run/docker.sock - /データ/ランナー/ configに:の/ etc/gitlab-ランナー - /データ/ gitlab /ランナー/データ:/データ TTY:真 ラベル: io.rancher.container.pull_image:always io.rancher.scheduler.global: 'true' – Sergiu

+0

私はRancherを使用してGitlabサーバーとランナーを起動しています。これは役に立ちます。 – Sergiu