2016-07-12 4 views
0

Я пытаюсь подключить контейнер с tomcat к контейнеру с mysql, чтобы развернуть приложение. Я воспроизвел то же самое в бродячей машине (tomcat 6, mysql 5.6), но теперь я хочу сделать это с помощью докерных контейнеров. Я использовал этот ответ here с некоторыми дополнительными дополнениями. Для контейнера тузд я бегу:Подключить контейнер tomcat к контейнеру mysql

sudo docker run --name mysql -e MYSQL_USER=root -e MYSQL_ROOT_PASSWORD=admin -e MYSQL_DATABASE=my_database_name -d mysql:5.6 

Для контейнера Tomcat

docker run -d -p 8080:8080 --name tomcat --link mysql:mysql -v $PWD/webapp:/usr/local/tomcat/webapps tomcat:6 

Также я имею папку WebAPP/with_my_app.war. Все идет нормально.

Это конкретное приложение нуждается в некоторой конфигурации в файле WEB-INF/context.xml, поэтому я бегу

docker exec -it tomcat bash 

Затем я обновил и установил Vim и, наконец, редактировать файл context.xml и перезапуске кот.

Но я не могу получить доступ к приложение на локальном хосте: 8080/with_my_app

Что мне не хватает?

+1

Возможно, потребуется немного больше информации и любых конкретных ошибок. Для начала, однако, я бы экстернализовал WEB-INF/context.xml с помощью тома, чтобы вы могли отредактировать его за пределами контейнера и убедиться, что он сохраняется через перезагрузки. Затем используйте 'docker exec' из контейнера tomcat, чтобы попытаться выполнить ping/получить доступ к контейнеру MySql. Если вы доберетесь так далеко, это поможет разобраться в том, что вам нужно сделать дальше. – ldg

+0

Какую точку входа вы используете для связи с контейнером mysql из вашего приложения? – GianArb

+0

@Idg Я не знаю, как вытеснить contect.xml, но после перезапуска я проверил его снова, и содержимое сохранялось через перезагрузки. Поэтому я думаю, что это не проблема. Я pingd к db (хороший одно btw) и он работал отлично. – StLia

ответ

0

Включить --cap-add SYS_PTRACE во время работы контейнера tomcat.

docker run -d -p 8080:8080 --cap-add SYS_PTRACE ...... 
Смежные вопросы