docker run -p 80 --name web -i -t ubuntu /bin/bash
建立一个命名为web的ubuntu容器, 具体的命令参数可查阅官方文档。linux
执行完上面的命令后, 程序会自动进入容器中, 咱们经过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 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 命令进入命令界面。