質問: jenkinsからdockerコンテナ上でjobを実行しており、 jenkinsとdockerが同一マシン上だった場合は、コンテナのIPを指定し 「ssh経由でUnixのスレーブエージェントを起動」でうまくいっていたのですが dockerを別マシンに置く必要が出てきてしまい、 どのようにコンテナへ接続したら良いかわかりません ``` ┏━━━━━━━━┓ ┃jenkins:1.1.1.1 ┃ ┗━━━━━━━━┛ ┃ssh接続 ↓ ┏━━━━━━━━━━━━┓ ┃ホストOS:1.2.3.4 ┃ ┃┏━━━━━━━━━━┓┃ ┃┃コンテナ:172.0.0.1 ┃┃ ┃┗━━━━━━━━━━┛┃ ┗━━━━━━━━━━━━┛ ``` イメージ的には上記のような形です。 sshによる起動ではなくとも良いのですが、どのように外部マシンから内部コンテナへ接続したらよいでしょうか コンテナはbuild時に ``` RUN apt-get update && apt-get -y install sudo openssh-server (他省略) EXPOSE 22 ``` をしている状態です
回答: コンテナを起動する際に、ポートを例えば 2222:22 でバインドしながら起動し、jenkins からスレーブを起動する際に、ホストOS の 2222 ポートを指定して、設定するとできるのではないか、と思ってます。