在容器中部署静态网站

设置容器的端口映射

我们还没有 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. 验证网站访问

  1. 创建80 端口的交互式容器
$ docker run -p 80 --name ubuntu_web -i -t ubuntu /bin/bash
root@8c9885237635:/# 
  1. 安装 Nginx
    先更新源,在安装 nginx
root@8c9885237635:/#  apt-get update
root@8c9885237635:/# apt-get install -y nginx
  1. 安装文本编辑器vim
# apt-get install -y vim
  1. 创建静态页面
root@8c9885237635:/# cd /var/www/html/
root@8c9885237635:/var/www/html# vim index.html
  1. 修改 Nginx配置文件
    修改 root 为 /var/www/html
root@8c9885237635:/var/www/html# vi /etc/nginx/sites-enabled/default
  1. 运行Nginx
root@8c9885237635:~# nginx
root@8c9885237635:~#  { CTRL P, CTRL Q} 退出后台运行
  1. 验证网站访问
    观察映射已经成功, 而且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服务器相关推荐

  1. Doocker ubuntu 16.04 学习总结(四)- 使用 docker搭建 Jupyter 环境 运行 handson_ml 机器学习程序

    在学习 **Hands-on Machine Learning with Scikit-Learn and TensorFlow: ** 的过程中, 想创建一个可以随意变动的环境,在不同电脑上切换使用 ...

  2. 【个人学习总结】使用docker搭建Teamspeak服务器

    [个人学习总结]使用docker搭建Teamspeak服务器 注:本文章仅为个人学习过程中的相关总结,不能保证文章正确性,如有错误还烦请各位大佬在评论区指正.文章核心内容为b站up主ROCBRAUN所 ...

  3. Ubuntu 16.04下Intel SGX SDK环境搭建(硬件不支持情况)

    文章目录 1.下载安装包 2.安装必要的工具 2.1 On Ubuntu* 16.04: 2.2 安装alien: 2.3 下载并安装Intel® Capability Licensing Servi ...

  4. 【Go Web学习笔记】第一章 搭建Web服务器

    前言:大家好,以下所有内容都是我学习韩茹老师的教程时所整理的笔记.部分内容有过删改, 推荐大家去看原作者的文档进行学习, 本文章仅作为个人的学习笔记,后续还会在此基础上不断修改.学习Go Web时应该 ...

  5. Ubuntu 16.04下Redis Cluster集群搭建(官方原始方案)

    前提:先安装好Redis,参考:http://www.cnblogs.com/EasonJim/p/7599941.html 说明:Redis Cluster集群模式可以做到动态增加节点和下线节点,使 ...

  6. Ubuntu 16.04 下Redis Cluster集群搭建

    实际操作如下: 准备工作 版本:4.0.2 下载地址:https://redis.io/download 离线版本:(链接: https://pan.baidu.com/s/1bpwDtOr 密码: ...

  7. 4t gpt索引 linux如何挂载,LINUX教学:Ubuntu 16.04通过GPT挂载硬盘

    <LINUX教学:Ubuntu 16.04通过GPT挂载硬盘>要点: 本文介绍了LINUX教学:Ubuntu 16.04通过GPT挂载硬盘,希望对您有用.如果有疑问,可以联系我们. 记录下 ...

  8. ROS学习(二):在ubuntu 16.04安装ROS Kinetic

    机器人操作系统 ROS 一般可以采用 apt-get的方式进行安装,可以根据自己的Ubuntu的具体版本下载相应的ROS版本进行安装. 安装前 1.配置软件库: Ubuntu repositories ...

  9. linux学习之路——ubuntu 16.04 开机开启数字小键盘解决方法

    linux学习之路--ubuntu 16.04 开机开启数字小键盘解决方法 参考文章: (1)linux学习之路--ubuntu 16.04 开机开启数字小键盘解决方法 (2)https://www. ...

最新文章

  1. Oracle Study之--Oracle 11g RAC故障(Failed to create or upgrade OLR)
  2. mysql 最小配置_如何配置全世界最小的 MySQL 服务器
  3. linux命令:mkdir命令
  4. 虚拟服务器dhcp,虚拟服务器上配置dhcp服务器
  5. ajax获取java session的值_jquery 怎么获取 ajax中的session值
  6. Windows核心编程:第9章 用内核对象进行线程同步
  7. html三个div相同高度,Html三个div并排,高度相同
  8. Android APP渗透测试方法大全(百度云分享)
  9. 深入探索 Android 网络优化(三、网络优化篇)下
  10. 高一计算机知识点第一章,第一章计算机基础知识知识点总结
  11. Appdata\Local Roaming LocalLow文件夹
  12. 一个人是否靠谱,闭环很重要(有深度)
  13. 微信小程序赋能会员管理和会员营销互动
  14. U盘重装系统win7_U盘安装win7教程
  15. C#使用BouncyCastle来实现私钥加密,公钥解密的方法
  16. 对标阿里P6-P7高级Java程序员的进阶技术路线
  17. TX2超详细,超实用刷机教程(亲测有效,所有步骤都是博主亲自实践过)
  18. 实现Fegin远程调用
  19. 红米Note通过卡刷获取root权限教程,附各版本root包
  20. XMPPFramework开发(四):电子名片

热门文章

  1. Concis组件库封装——Rate评分
  2. 与OA系统的固定资产管理相比,固定资产管理云系统的优势在哪里?
  3. android系统负载如何获取1-简单利用系统命令
  4. wget和curl下载JDK
  5. Spark对接Hive:整合Hive操作及函数
  6. .NET LoongArch64 正式合并进入.NET
  7. HTML支付密码输入框(已实现)
  8. java开发后端框架_java开发后端框架
  9. php输出mysql数据
  10. 中国移动和中国广电共用700MHz,联通和电信的5G输定了