Doocker ubuntu 16.04 学习总结(二)-使用docker搭建web服务器
在容器中部署静态网站
设置容器的端口映射
我们还没有 ubuntu 的镜像
查找 ubuntu 的镜像
$ docker search ubuntu
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
ubuntu Ubuntu is a Debian-based Linux operating sys… 9405 [OK]
dorowu/ubuntu-desktop-lxde-vnc Docker image to provide HTML5 VNC interface … 292 [OK]
rastasheep/ubuntu-sshd Dockerized SSH service, built on top of offi… 211 [OK]
consol/ubuntu-xfce-vnc Ubuntu container with "headless" VNC session… 173 [OK]
ubuntu-upstart Upstart is an event-based replacement for th… 97 [OK]
ansible/ubuntu14.04-ansible Ubuntu 14.04 LTS with ansible 96 [OK]
neurodebian NeuroDebian provides neuroscience research s… 56 [OK]
1and1internet/ubuntu-16-nginx-php-phpmyadmin-mysql-5 ubuntu-16-nginx-php-phpmyadmin-mysql-5 50 [OK]
ubuntu-debootstrap debootstrap --variant=minbase --components=m… 40 [OK]
nuagebec/ubuntu Simple always updated Ubuntu docker images w… 23 [OK]
i386/ubuntu Ubuntu is a Debian-based Linux operating sys… 17
1and1internet/ubuntu-16-apache-php-7.0 ubuntu-16-apache-php-7.0 13 [OK]
ppc64le/ubuntu Ubuntu is a Debian-based Linux operating sys… 12
eclipse/ubuntu_jdk8 Ubuntu, JDK8, Maven 3, git, curl, nmap, mc, … 9 [OK]
darksheer/ubuntu Base Ubuntu Image -- Updated hourly 5 [OK]
codenvy/ubuntu_jdk8 Ubuntu, JDK8, Maven 3, git, curl, nmap, mc, … 5 [OK]
pivotaldata/ubuntu A quick freshening-up of the base Ubuntu doc… 2
smartentry/ubuntu ubuntu with smartentry 1 [OK]
paasmule/bosh-tools-ubuntu Ubuntu based bosh-cli 1 [OK]
1and1internet/ubuntu-16-sshd ubuntu-16-sshd 1 [OK]
1and1internet/ubuntu-16-php-7.1 ubuntu-16-php-7.1 1 [OK]
ossobv/ubuntu Custom ubuntu image from scratch (based on o… 0
pivotaldata/ubuntu-gpdb-dev Ubuntu images for GPDB development 0
1and1internet/ubuntu-16-healthcheck ubuntu-16-healthcheck 0 [OK]
1and1internet/ubuntu-16-rspec ubuntu-16-rspec 0 [OK]
安装 ubuntu 的镜像
$ docker pull ubuntu
Using default tag: latest
latest: Pulling from library/ubuntu
898c46f3b1a1: Pull complete
63366dfa0a50: Pull complete
041d4cd74a92: Pull complete
6e1bee0f8701: Pull complete
Digest: sha256:017eef0b616011647b269b5c65826e2e2ebddbe5d1f8c1e56b3599fb14fabec8
Status: Downloaded newer image for ubuntu:latest
创建一个 container
$ docker run -p 80 --name ubuntu_web -i -t ubuntu /bin/bash
root@8c9885237635:/#
端口映射使用docker run -P -p;
-P 将容器暴露的所有端口进行映射
-p 只暴露指定的端口
Nginx 部署流程
1. 创建80 端口的交互式容器
2. 安装 Nginx
3. 安装文本编辑器vim
4. 创建静态页面
5. 修改 Nginx配置文件
6. 运行Nginx
7. 验证网站访问
- 创建80 端口的交互式容器
$ docker run -p 80 --name ubuntu_web -i -t ubuntu /bin/bash
root@8c9885237635:/#
- 安装 Nginx
先更新源,在安装 nginx
root@8c9885237635:/# apt-get update
root@8c9885237635:/# apt-get install -y nginx
- 安装文本编辑器vim
# apt-get install -y vim
- 创建静态页面
root@8c9885237635:/# cd /var/www/html/
root@8c9885237635:/var/www/html# vim index.html
- 修改 Nginx配置文件
修改 root 为 /var/www/html
root@8c9885237635:/var/www/html# vi /etc/nginx/sites-enabled/default
- 运行Nginx
root@8c9885237635:~# nginx
root@8c9885237635:~# { CTRL P, CTRL Q} 退出后台运行
- 验证网站访问
观察映射已经成功, 而且docker 在后台运行
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8c9885237635 ubuntu "/bin/bash" 2 hours ago Up 2 hours 0.0.0.0:32768->80/tcp ubuntu_webcurl http://127.0.0.1:32768 // 访问这个端口,成功
// 利用容器的地址来查看
$ docker inspect ubuntu_web
"IPAddress": "172.17.0.2",
$ curl http://172.17.0.2 // 返回内容一样
关闭后 重新启动 nginx 服务
~$ docker stop ubuntu_web
~$ docker start ubuntu_web
~$ docker top ubuntu_web
UID PID PPID C STIME TTY TIME CMD
root 14777 14746 0 18:10 pts/0 00:00:00 /bin/bash
~$ docker exec ubuntu_web nginx
~$ docker top ubuntu_web
UID PID PPID C STIME TTY TIME CMD
root 14777 14746 0 18:10 pts/0 00:00:00 /bin/bash
root 15017 14777 0 18:11 ? 00:00:00 nginx: master process nginx
www-data 15018 15017 0 18:11 ? 00:00:00 nginx: worker process
www-data 15019 15017 0 18:11 ? 00:00:00 nginx: worker process
www-data 15020 15017 0 18:11 ? 00:00:00 nginx: worker process
www-data 15021 15017 0 18:11 ? 00:00:00 nginx: worker process
// nginx 服务已经启动
Doocker ubuntu 16.04 学习总结(二)-使用docker搭建web服务器相关推荐
- Doocker ubuntu 16.04 学习总结(四)- 使用 docker搭建 Jupyter 环境 运行 handson_ml 机器学习程序
在学习 **Hands-on Machine Learning with Scikit-Learn and TensorFlow: ** 的过程中, 想创建一个可以随意变动的环境,在不同电脑上切换使用 ...
- 【个人学习总结】使用docker搭建Teamspeak服务器
[个人学习总结]使用docker搭建Teamspeak服务器 注:本文章仅为个人学习过程中的相关总结,不能保证文章正确性,如有错误还烦请各位大佬在评论区指正.文章核心内容为b站up主ROCBRAUN所 ...
- Ubuntu 16.04下Intel SGX SDK环境搭建(硬件不支持情况)
文章目录 1.下载安装包 2.安装必要的工具 2.1 On Ubuntu* 16.04: 2.2 安装alien: 2.3 下载并安装Intel® Capability Licensing Servi ...
- 【Go Web学习笔记】第一章 搭建Web服务器
前言:大家好,以下所有内容都是我学习韩茹老师的教程时所整理的笔记.部分内容有过删改, 推荐大家去看原作者的文档进行学习, 本文章仅作为个人的学习笔记,后续还会在此基础上不断修改.学习Go Web时应该 ...
- Ubuntu 16.04下Redis Cluster集群搭建(官方原始方案)
前提:先安装好Redis,参考:http://www.cnblogs.com/EasonJim/p/7599941.html 说明:Redis Cluster集群模式可以做到动态增加节点和下线节点,使 ...
- Ubuntu 16.04 下Redis Cluster集群搭建
实际操作如下: 准备工作 版本:4.0.2 下载地址:https://redis.io/download 离线版本:(链接: https://pan.baidu.com/s/1bpwDtOr 密码: ...
- 4t gpt索引 linux如何挂载,LINUX教学:Ubuntu 16.04通过GPT挂载硬盘
<LINUX教学:Ubuntu 16.04通过GPT挂载硬盘>要点: 本文介绍了LINUX教学:Ubuntu 16.04通过GPT挂载硬盘,希望对您有用.如果有疑问,可以联系我们. 记录下 ...
- ROS学习(二):在ubuntu 16.04安装ROS Kinetic
机器人操作系统 ROS 一般可以采用 apt-get的方式进行安装,可以根据自己的Ubuntu的具体版本下载相应的ROS版本进行安装. 安装前 1.配置软件库: Ubuntu repositories ...
- linux学习之路——ubuntu 16.04 开机开启数字小键盘解决方法
linux学习之路--ubuntu 16.04 开机开启数字小键盘解决方法 参考文章: (1)linux学习之路--ubuntu 16.04 开机开启数字小键盘解决方法 (2)https://www. ...
最新文章
- Oracle Study之--Oracle 11g RAC故障(Failed to create or upgrade OLR)
- mysql 最小配置_如何配置全世界最小的 MySQL 服务器
- linux命令:mkdir命令
- 虚拟服务器dhcp,虚拟服务器上配置dhcp服务器
- ajax获取java session的值_jquery 怎么获取 ajax中的session值
- Windows核心编程:第9章 用内核对象进行线程同步
- html三个div相同高度,Html三个div并排,高度相同
- Android APP渗透测试方法大全(百度云分享)
- 深入探索 Android 网络优化(三、网络优化篇)下
- 高一计算机知识点第一章,第一章计算机基础知识知识点总结
- Appdata\Local Roaming LocalLow文件夹
- 一个人是否靠谱,闭环很重要(有深度)
- 微信小程序赋能会员管理和会员营销互动
- U盘重装系统win7_U盘安装win7教程
- C#使用BouncyCastle来实现私钥加密,公钥解密的方法
- 对标阿里P6-P7高级Java程序员的进阶技术路线
- TX2超详细,超实用刷机教程(亲测有效,所有步骤都是博主亲自实践过)
- 实现Fegin远程调用
- 红米Note通过卡刷获取root权限教程,附各版本root包
- XMPPFramework开发(四):电子名片