0

docker コンテナーの tomcat8 で実行されている Web アプリに接続しようとしています。を実行しているコンテナ内からアクセスできますlynx http://localhost:8080/myappが、ホストからアクセスしようとすると取得するだけですHTTP request sent; waiting for response.

Dockerfile でポート 8080 を公開しsudo docker inspect mycontainer | grep IPAddressています。コンテナーの IP アドレスを取得するために使用しています。

Dockerコンテナを実行するために使用しているコマンドは次のとおりです。

sudo docker run -ti --name myapp --link mysql1:mysql1 --link rabbitmq1:rabbitmq1 -e "MYSQL_HOST=mysql1" -e "MYSQL_USER=myuser" -e "MYSQL_PASSWORD=mysqlpassword" -e "MYSQL_USERNAME=mysqlusername" -e "MYSQL_ROOT_PASSWORD=rootpassword" -e "RABBITMQ_SERVER_ADDRESS=rabbitmq1" -e "MY_WEB_ENVIRONMENT_ID=qa" -e "MY_WEB_TENANT_ID=tenant1" -p "8080:8080" -d localhost:5000/myapp:latest

私の Dockerfile:

FROM localhost:5000/web_base:latest
MAINTAINER "Me" <me@my_company.com>

#Install mysql client
RUN yum -y install mysql

#Add Run shell script
ADD run.sh /home/ec2-user/run.sh
RUN chmod +x /home/ec2-user/run.sh

EXPOSE 8080

ENTRYPOINT ["/bin/bash"]
CMD ["/home/ec2-user/run.sh"]

私のrun.sh:

sudo tomcat8 start && sudo tail -f /var/log/tomcat8/catalina.out

ホストからではなくコンテナ内からアクセスできる理由はありますか?

ありがとう

4

3 に答える 3

0

ホストから tomcat8 サーバーにアクセスできるようになりました。問題はここにありました:

sudo tomcat8 start && sudo tail -f /var/log/tomcat8/catalina.out

代わりに Tomcat8 をサービスとして開始する必要があります。

sudo service tomcat8 start && sudo tail -f /var/log/tomcat8/catalina.out
于 2014-12-10T17:34:53.173 に答える
0

指定されたコマンドを押して、docker-machine のIP アドレスを見つけます

$ docker-machine ls

出力は次のようになります

NAME      ACTIVE   DRIVER       STATE     URL                         SWARM   DOCKER    ERRORS
default   *        virtualbox   Running   tcp://192.168.99.100:2376           v1.10.3

ホスト マシンから次のようにアプリケーションを実行します: http://192.168.99.100:8080/myapp

于 2016-04-01T13:27:50.627 に答える