2017-07-15 14 views
5

DockerコンテナでJenkinsを実行します。全て大丈夫。私はこのように実行することができます:docker run -d --name jenkins -t -i -p 49001:8080 jenkins私は永続的なストレージを追加することもできます。問題は、パイプラインを作成したときにdockerコマンド(buildpush)を実行する必要があるときに発生しました。まず、ドッキング・システムがシステムにインストールされていないというエラーでした。はい、期待しています。次に、私は検索を開始し、どのようにしてコンテナ内のドッカーを実行できるかを見つけ出しました(2つの永続ボリュームを渡します)。docker run ... -v /var/run/docker.sock:/var/run/docker.sock -v $(which docker):/usr/bin/docker -p 49001:8080 jenkinsDockerコンテナ内のJenkins(ランドッカーパイプライン)

これは実行されますが、例外はあります。コンテナにdockerコマンドがありますが、実行しようとすると例外がスローされます。docker: error while loading shared libraries: libltdl.so.7: cannot open shared object file: No such file or directory

この問題を解決するにはどうすればよいですか? DockerにJenkinsをインストールしてDockerを実行する正しい方法は何ですか?実際ジェンキンスを実行している、それは価値がある

  • 私は接続と実行中のコマンド
  • を可能にするドッキングウィンドウAPIを公開することができるソケットを使用 -

    1. 私がやっている1:私は2つの方法があると思いますドッカーで?私は不足しているライブラリを手動でapt-getからインストールしようとしましたが動作しますが、正しい方法ではないことが分かります。

    +0

    はhttps://www.vip-consult.solutions/post/easy-docker-swarm-jenkins-continuous-deployment-at-scale#contentは役立つだろうか? – VonC

    答えて

    6

    正常に動作するためにはlibltdl-devをインストールする必要があります。このようになりますDockerfileを作成します。

    FROM jenkins:latest 
    
    USER root 
    RUN apt-get update \ 
         && apt-get upgrade -y \ 
         && apt-get install -y sudo libltdl-dev \ 
         && rm -rf /var/lib/apt/lists/* 
    RUN echo "jenkins ALL=NOPASSWD: ALL" >> /etc/sudoers 
    
    USER jenkins 
    # Here you can install some Jenkins plugins if you want 
    
    +0

    私は簡単な回避策の画像を作成しました https://hub.docker.com/r/jesusperales/jenkins-docker-run-inside/ –

    関連する問題