专栏首页漫漫全栈路Docker 渐入佳境

Docker 渐入佳境

前两篇算是对Docker做了大致的介绍,然后现在开始,就是Docker的实际运用了,先从一个简单的静态网站的部署开始。

  • Docker初次见面 - Docker基础概念
  • Docker循序渐进 - Docker容器的基本操作

容器端口映射

以网站服务为例,一般需要80端口,那么如何使容器的端口能被外界访问得到呢?这就要用到容器的端口映射。

run [-P] [-p]

-p –publish = []

  • containerPort - docker run -p 80 -i -t /bin/bash - 宿主机端口随机映射
  • hostPort:containerPort - docker run -p 8080:80 -i -t /bin/bash - 宿主机端口:容器端口 指定映射
  • IP:containerPort - docker run -p 0.0.0.0:80 -i -t /bin/bash - 指定IP的端口映射
  • ip:hostPort:containerPort docker run -p 0.0.0.0:8080:80 -i -t /bin/bash - 指定IP和端口的映射

Nginx部署静态网站

部署Nginx需要以下步骤:

创建映射80端口的交互式容器

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

安装Nginx

$ apt-get install -y nginx

若提示未发现软件,使用apt-get update更新源

安装文本编辑器vim

$ apt-get install -y vim

创建静态页面

先创建网站目录,然后使用vim编辑网页

$ mkdir -p /var/www/html
$ cd /var/www/html
$ vim index.html

输入一个基本的html内容,:wq指令保存并退出!

修改Nginx配置文件

$ cd /etc/nginx/
$ ls
$ vim /sites-enabled/default

检查root的默认路径,确认其为刚刚创建的/var/www/html

同样:wq指令保存并退出!

关于Nginx的配置可以参考之前的博客

运行Nginx

$ nginx
$ ps -ef

运行nginx,可以使用ps指令来查看

Ctrl+P + Ctrl+Q 切出容器,使用docker ps查看容器状态

验证网站访问

若无公网IP,则直接使用curl命令才访问

$ curl http://127.0.0.1:32769

注意:这里的端口号使用刚才ps中显示的端口号,也可以使用docker port Nginx_Web来查看端口

如果有外网或者域名解析,则可以直接访问验证。

或者使用容器的ip地址访问(宿主机内部)

使用docker inspect Nginx_Web查看IP地址,并直接访问,此处略过。

退出容器后操作

退出容器后,nginx服务停止,使用start指令启动会,nginx并不会自动启动。

此时可以使用docker exec Nginx_Web nginx来附加指令使nginx启动,并正常运行。

注意:若不指定,退出并重新启动后的容器的端口和IP都会改变.

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Docker渐入佳境

    以网站服务为例,一般需要80端口,那么如何使容器的端口能被外界访问得到呢?这就要用到容器的端口映射。

    李郑
  • 【译】Windows下的Docker Machine - 如何设置你的Docker主机

    原文作者:Markus Eisele 原文地址:https://dzone.com/articles/docker-machine-windows-how 最近...

    李郑
  • Windows下的Docker Machine - 如何设置你的Docker主机

    最近我一直在折腾Docker。原因有很多,可以肯定的是,我喜欢折腾最新的技术,而且最好能帮忙实现一到两个示例的demo出来。和我的其他同事们不一样的是,我在Wi...

    李郑
  • Docker渐入佳境

    以网站服务为例,一般需要80端口,那么如何使容器的端口能被外界访问得到呢?这就要用到容器的端口映射。

    李郑
  • Docker 运行一个web服务:hello world

    这样通过docker ps可以看到后面有一个0.0.0.0:32769->5000/tcp,这就说明Docker 开放了 5000 端口(默认 Python F...

    Criss@陈磊
  • Docker 使用指南 (三)—— 网络配置

    本文详细介绍了Docker网络配置的四个模式,以及模式下的具体配置操作。希望对入门,Docker的童鞋有所帮助。

    田飞雨
  • 如何在Linode上使用Docker部署nginx容器

    根据Docker官网(Docker.com)的说法,容器应该是一个“轻量级,独立的,可执行的软件包,包括运行它所需的一切:代码,运行时,系统工具,系统库和设置。...

    Noel
  • 《Docker 实战》干货分享

    最近读完了 Jeff Nickoloff 的《Docker 实战》,不知道是中文翻译还是书原本就这样,感觉很一般,但是也有不少干货,读完感觉还可以,把其中几条我...

    耕耘实录
  • Docker/K8S再学习

    docker,编排,调度这些都是PaaS里面的经典概念。前面写了一篇文章《Docker和hadoop》,直言docker并不是Hadoop体系的关键技术,当前阶...

    大数据和云计算技术
  • 资深程序员骆昊:Python从新手到大师,100天完整学习路线

    摘要:最近后台有些小伙伴在问我Python入门的问题,我推荐这个学习路线资料,可能你们有些已经在使用它,的确它是我见过最全的、最富有逻辑体系的Python技术栈...

    double

扫码关注云+社区

领取腾讯云代金券