一、在Docker容器中部署静态网站

 

创建Docker容器

 docker run -p 80 --name web -i -t ubuntu /bin/bash

创建一个命名为web的ubuntu容器, 具体的命令参数可查阅官方文档。

安装Nginx

  执行完上面的命令后, 程序会自动进入容器中, 我们通过Nginx提供web服务,首先执行一下:

apt-get update

避免无法安装软件。

再来安装Nginx服务程序:

apt-get install -y nginx

安装完后,执行ngixn 命令启动nginx的服务。然后通过系统命令top或者ps -ef  查看nginx的启动情况。

后台运行容器

    如果想让容器一直运行,并且退出bash命令界面,可安装ctrl键的同时按p, 再按q键 退出容器的命令界面。

会看到有 “read escape sequence”的提示。

容器运行状态

docker ps

查看web容器的运行状态。

本地端口映射

我们在创建容器时,并没有将容器的80端口手动映射到本地,那么程序会自动映射到本地的随机一个端口,查看对应端口命令:

docker port web(容器的名称/ID)

 结果:

80/tcp -> 0.0.0.0:32770

docker命令查看容器中进程

 docker top web

结果:

aaab@linux:~$ docker top web
UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
root                20662               20644               0                   10:59               pts/0               00:00:00            /bin/bash
root                20775               20662               0                   10:59               ?                   00:00:00            nginx: master process nginx
www-data            20776               20775               0                   10:59               ?                   00:00:00            nginx: worker process
www-data            20777               20775               0                   10:59               ?                   00:00:00            nginx: worker process
www-data            20778               20775               0                   10:59               ?                   00:00:00            nginx: worker process
www-data            20781               20775               0                   10:59               ?                   00:00:00            nginx: worker process
www-data            20782               20775               0                   10:59               ?                   00:00:00            nginx: worker process
www-data            20783               20775               0                   10:59               ?                   00:00:00            nginx: worker process
www-data            20784               20775               0                   10:59               ?                   00:00:00            nginx: worker process
www-data            20785               20775               0                   10:59               ?                   00:00:00            nginx: worker process
g

网站访问

既然容器的web服务已经开启,那么可以通过容器的IP来访问web站点。如何获取容器的ip ?

docker inspect web(容器名称/ID)

从结果中可以找到对应的IP,本次测试所获得IP是 172.17.0.2 所以我们可以通过curl或者本地浏览器来访问http://172.17.0.2  

或者通过inpsect 或者 docker port web 命令查找出映射到本地端口, 通过本地IP+端口的形式访问, 192.168.1.158:32700

此处要注意的是: 如果容器重启IP或者映射本地的端口都将可能发生变化, 如果没有手动设置。

 

重启web容器后, nginx没有运行。

可以动过docker exec  web nginx 命令, 开启nginx服务。

 

另外记录一点:

stop状态下, 可通过docker start -i web 直接进入容器命令界面。

在后台模式,可以通过docker attach web 命令进入命令界面。

 

转载于:https://my.oschina.net/90design/blog/1839881

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值