オイラ、dockerしてるぜ 覚書:コンテナ間連結
docker コンテナ間の連結には、--linkを使う。
参考となるページ
docker公式HP Linking containers together
Dockerコンテナ間のlink,database.ymlの書き方
・書式:--link <連携したいコンテナ名>:<エイリアス>
- 実行dockerコンテナに対して、<連携したいコンテナ>の/etc/hosts に連携したいコンテナが登録される。
root@da42e475504a:/# grep jenkins /etc/hosts
172.17.0.66 ci_jenkins c8cc4a7b4f23
172.17.0.66 ci_jenkins.bridge
172.17.0.66 ci_jenkins
これを使えば、ApacheでReverseProxyに設定するとき、IPアドレスではなく、連携したいコンテナ名を設定すればOK。 - 実行dockerコンテナに対して、<連携したいコンテナ名>の情報を環境変数に設定する。環境変数名プレフィックスが<エイリアス>になる。
#<連携したいコンテナ>DockerイメージのDockerfileに定義されているENV、EXPOSEの内容が、設定される?あと、-eオプションで設定した環境変数を設定されている。
例えば公式Jenkinsイメージを連携コンテナとしたとき、以下のような環境変数が定義される。(--link <Jenkinsコンテナ名>:jenkins としたとき)
root@da42e475504a:/# set | grep JENKINS
CI_JENKINS_ENV_CA_CERTIFICATES_JAVA_VERSION=20140324
CI_JENKINS_ENV_COPY_REFERENCE_FILE_LOG=/var/jenkins_home/copy_reference_file.log
CI_JENKINS_ENV_JAVA_DEBIAN_VERSION=8u45-b14-2~bpo8+2
CI_JENKINS_ENV_JAVA_VERSION=8u45
CI_JENKINS_ENV_JENKINS_HOME=/var/jenkins_home
CI_JENKINS_ENV_JENKINS_SHA=<ここは秘密:SHA IDが入る>
CI_JENKINS_ENV_JENKINS_UC=https://updates.jenkins-ci.org
CI_JENKINS_ENV_JENKINS_VERSION=1.609.2
CI_JENKINS_ENV_LANG=C.UTF-8
CI_JENKINS_NAME=/ci_apache/ci_jenkins
CI_JENKINS_PORT=tcp://172.17.0.66:8080
CI_JENKINS_PORT_50000_TCP=tcp://172.17.0.66:50000
CI_JENKINS_PORT_50000_TCP_ADDR=172.17.0.66
CI_JENKINS_PORT_50000_TCP_PORT=50000
CI_JENKINS_PORT_50000_TCP_PROTO=tcp
CI_JENKINS_PORT_8080_TCP=tcp://172.17.0.66:8080
CI_JENKINS_PORT_8080_TCP_ADDR=172.17.0.66
CI_JENKINS_PORT_8080_TCP_PORT=8080
CI_JENKINS_PORT_8080_TCP_PROTO=tcp
↑CI_JENKINS_PORT_(50000|8080)は、EXPOSEの50000、8080から設定される。
●その他
- -P :DockerfileのEXPORTのポート番号をランダムに外部へのポート割り当てする。外部ポート番号を指定するときは-pを使う。
- -p(--port) :dockerホストを経由して外部にポートを開く。<連携元コンテナのポート番号>:<外部ポート番号>。
-p 8080:80 とすると、実行したコンテナのポート番号8080が、外部のポート番号80として開かれる。この設定をすれば外部のWebブラウザから http://192.168.99.100/ とやれば、連携元のHTTPが見られる。 - IPAddressの取得
docker の inspectコマンドを使用する。
docker@default:~$ docker inspect -f "{{ .NetworkSettings.IPAddress }}" ci_jenkins
172.17.0.66
« 今週届いた本、買ってきた本 | トップページ | 覚書:VMWare Playerのubuntuがネットワーク接続できなくなったときの対処 »
« 今週届いた本、買ってきた本 | トップページ | 覚書:VMWare Playerのubuntuがネットワーク接続できなくなったときの対処 »
コメント