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

 

建立Docker容器

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

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

安装Nginx

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

apt-get update

避免没法安装软件。web

再来安装Nginx服务程序:docker

apt-get install -y nginx

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

后台运行容器

    若是想让容器一直运行,而且退出bash命令界面,可安装ctrl键的同时按p, 再按q键 退出容器的命令界面。浏览器

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

容器运行状态

docker ps

查看web容器的运行状态。curl

本地端口映射

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

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 命令进入命令界面。

相关文章
相关标签/搜索