从浏览器访问两个容器

时间:2019-04-05 16:31:06

标签: amazon-web-services docker amazon-ec2 containers

我已经启动了EC2 ubuntu实例和安全组,因为该实例允许从0.0.0.0/0开始的22,80,443个端口。 现在我已经在这个EC2实例上安装了docker.Then我创建了一个apache2容器,并使用以下命令将端口映射为从浏览器访问

      sudo docker run -p 80:80 -t -i ubuntu /bin/bash

然后我创建了一个灯泡堆栈着色器,并尝试使用以下命令映射端口

      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

当我使用EC2机器的公共IP并放入浏览器时,我可以看到apache页面,但是如何评估我的Lampstack页面?

如果我做的端口映射不正确,请纠正我

1 个答案:

答案 0 :(得分:0)

您只需要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容器,该容器链接到原始容器“灯”:

docker run -ti --rm --link lamp --name ubuntu-box ubuntu bash

在容器内安装curl并测试您的连接:

apt update && apt-get install curl -y
curl http://lamp