#amazon-web-services #docker #amazon-ec2 #containers
#amazon-веб-сервисы #docker #amazon-ec2 #контейнеры
Вопрос:
Я запустил экземпляр EC2 ubuntu, и группа безопасности для этого экземпляра разрешает 22 80 443 порта из 0.0.0.0 / 0. Теперь я установил docker на этот экземпляр EC2.Затем я создал контейнер apache2, а также сопоставил порт для доступа из браузера, используя приведенную ниже команду
sudo docker run -p 80:80 -t -i ubuntu /bin/bash
Затем я создаю конфигурацию lampstack и пытаюсь сопоставить порт, используя приведенную ниже команду
sudo docker run -p 443:443 -t -i linode/lamp /bin/bash
Теперь docker ps дает мне следующее
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS Name
d0751e67fd69 linode/lamp "/bin/bash" 4 min Up 4 0.0.0.0:443>443/tcp
affectionate_hamilton
0fb4e13a272a ubuntu "/bin/bash" 11 minutes 0.0.0.0:80->80/tcp
vigorous_robinson
Когда я беру общедоступный IP-адрес моего компьютера EC2 и помещаю в браузер, я вижу страницу apache, но как я могу оценить свою страницу Lampstack?
Пожалуйста, поправьте меня, если я неправильно сопоставил порты
Комментарии:
1. Я думаю, вам следует написать @IP: 443 для доступа к нему или, https://@IP
2. @MehdiBenmesssaoud я пытался, но безуспешно
3. @AWS_Beginner что такое o / p?
4. @AWS_Beginner Попробуйте изменить открытый порт 443 на 8080, например
5. Порт 443 по умолчанию используется для трафика HTTPS. Какой тип трафика установлен для порта 443 в вашей группе безопасности?
Ответ №1:
Вам нужен только контейнер LAMP, и в нем вы должны сопоставить порт 80:
sudo docker run -d --name lamp -t -p 80:80 linode/lamp top
Убедитесь, что контейнер запущен:
sudo docker ps --filter name=lamp
Теперь запустите службы:
sudo docker exec -ti lamp service apache2 start
sudo docker exec -ti lamp service mysql start
Протестируйте свою настройку с хоста:
curl http://localhost
Если вы хотите протестировать соединение из другого контейнера, вы можете запустить отдельный контейнер Ubuntu, который ссылается на ваш исходный контейнер «lamp»:
docker run -ti --rm --link lamp --name ubuntu-box ubuntu bash
Внутри контейнера установите curl и протестируйте соединение:
apt update amp;amp; apt-get install curl -y
curl http://lamp
Комментарии:
1. Спасибо за ваши комментарии. Первый контейнер — ubuntu, в котором я устанавливаю apache. И это не какая-либо задача, поскольку я хочу изучить docker, поэтому я пытался получить доступ к двум разным контейнерам, которые присутствуют на одном хосте, поэтому здесь мне нужны оба контейнера.
2. В вашем посте никогда не упоминалось об этом. Я добавил ответ для реализации этого сценария. Я надеюсь, что теперь вы можете протестировать соединение между 2 контейнерами.