2つのドッカーコンテナを同じ物理ホスト上で実行しています。 OneはMySQLサーバーを実行します。他のコンテナからそのMySQLサーバに接続したいと思います。私は2個のコンテナをリンクし、私がしようとすると接続:docker:1つのコンテナから別のコンテナへMySQLに接続する
mysql -h 172.17.0.3 -u root -p
、それはで失敗:私は罰金接続できるMySQLを実行しているコンテナに行けば
ERROR 2003 (HY000): Can't connect to MySQL server on '172.17.0.3' (111)
。
私は、同じ問題を抱えている人々と多くの、多くの投稿を見てきましたが、それらの回答は私を助けませんでした。
他のポート上の他のサービスと同じ2つのコンテナ間で同じことを行い、それらはすべて機能します。
私はこれを取得ポートでnmapの実行:
PORT STATE SERVICE
3306/tcp closed mysql
一方、私が得る仕事他のサービスのために:
PORT STATE SERVICE
5820/tcp open unknown
私はコンテナ走行MySQLの上でtcpdumpを実行した場合(172.17 .0.3)他のコンテナ(172.17.0.4)から接続しようとしました。私はこれを見ます:
15:52:57.048838 IP 172.17.0.4.47550 > 91fa9dcbc2a9.mysql: Flags [S], seq 3355905714, win 29200, options [mss 1460,sackOK,TS val 890919597 ecr 0,nop,wscale 7], length 0
15:52:57.048874 IP 91fa9dcbc2a9.mysql > 172.17.0.4.47550: Flags [R.], seq 0, ack 3355905715, win 0, length 0
15:52:57.050627 IP 91fa9dcbc2a9.47225 > 192.168.10.3.domain: 14265+ PTR? 4.0.17.172.in-addr.arpa. (41)
15:52:57.064719 IP 192.168.10.3.domain > 91fa9dcbc2a9.47225: 14265 NXDomain 0/0/0 (41)
15:52:57.064933 IP 91fa9dcbc2a9.39489 > 192.168.10.3.domain: 28024+ PTR? 3.10.168.192.in-addr.arpa. (43)
15:52:57.077012 IP 192.168.10.3.domain > 91fa9dcbc2a9.39489: 28024 NXDomain 0/0/0 (43)
Firewalはありませんホスト上で動作しています。なぜこれがうまくいかないのか、それをさらにトラブルシューティングする方法について誰でも知っていますか?要求されたよう
、Dockerfile:
FROM debian:buster
MAINTAINER Larry Martell <[email protected]>
ENV HOME /opt/django/CAPgraph/
RUN echo "deb http://http.debian.net/debian buster main" >> /etc/apt/sources.list
RUN (apt-get update -y && DEBIAN_FRONTEND=noninteractive apt-get install -y --force-yes build-essential git python python-dev python-setuptools nginx sqlite3 supervisor def
ault-mysql-server default-libmysqlclient-dev vim cron unzip software-properties-common python2.7 openjdk-8-jre-headless ca-certificates-java openjdk-8-jre xvfb wkhtmltopdf
sendmail-bin sendmail r-cran-ggplot2 r-cran-caret net-tools traceroute nmap tcpdump)
RUN (easy_install pip &&\
pip install uwsgi)
ADD . /tmp/CAPgraph
RUN cp -rp /tmp/CAPgraph/* $HOME
RUN pip install -r $HOME/requirements.txt
# stardog
ENV STARDOG_HOME /AppData/stardog_knowledgegraph
ENV STARDOG_JAVA_ARGS "-Xms10g -Xmx10g -XX:MaxDirectMemorySize=10g"
ADD deploy/stardog/stardog-license-key.bin $HOME/deploy/stardog/stardog-license-key.bin
ADD deploy/stardog/init $HOME/deploy/stardog/init
# install utilities
COPY deploy/util /usr/local/bin
RUN chmod a+x /usr/local/bin/reset_CAPgraph /usr/local/bin/start_CAPgraph /usr/local/bin/stop_CAPgraph
RUN (echo "daemon off;" >> /etc/nginx/nginx.conf &&\
rm /etc/nginx/sites-enabled/default &&\
rm -f /etc/nginx/sites-enabled/django.conf &&\
ln -s /opt/django/CAPgraph/supervisord.conf /etc/supervisor/conf.d/)
RUN chown -R root:root $HOME
RUN chmod 777 $HOME
RUN chmod 777 /opt/django
VOLUME ["/opt/django/CAPgraph"]
EXPOSE 80 8006 443 3306
ADD crontab /etc/cron.d/backupMySQL
RUN chmod 0644 /etc/cron.d/backupMySQL
RUN touch /var/log/cron.log
CMD ["/opt/django/CAPgraph/run.sh"]
とドッキングウィンドウの実行コマンド:
sudo docker run -d --restart=always -v /home/lmartell/devel1/Repos/CAPgraph:/opt/django/CAPgraph -v /home/lmartell/devel1/AppData/mysql_CAPgraph:/var/lib/mysql -v /etc/localtime:/etc/localtime -v /home/lmartell/devel1/AppData/cap_data:/AppData/cap_data -v /home/lmartell/devel1/bin:/opt/bin -v /home/lmartell/devel1/AppData/stardog_knowledgegraph:/AppData/stardog_knowledgegraph -p 18080:80 -p 18000:18000 -p 15820:5820 -p 3306:3306 --name devel1 elucidbio/capgraph:devel
そして私から接続してい他の容器からのコマンドを実行します。使用しないでください
sudo docker run -d --restart=always --link devel1 -v /home/lmartell/devel1/AppData:/AppData -v /home/lmartell/devel1/AppData:/projects -v /home/lmartell/devel1/Repos/CAPbase/capcompute:/opt/capcompute -v /home/lmartell/devel1/Repos/CAPgraph:/opt/CAPgraph -v /home/lmartell/devel1/Repos:/opt/django -v /home/lmartell/devel1/bin:/opt/bin -v /etc/localtime:/etc/localtime -v /bartok_SDBexports:/bartok_SDBexports --name capcompute-devel1 capcompute:latest
ドッカーの実行コマンドdockerfileを投稿し、使用する場合は、これを作成すると助けになります –
ドッカーファイルと実行コマンドが追加されました。作成を使用していません。 –