前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Docker 渐入佳境

Docker 渐入佳境

作者头像
李郑
发布2019-12-11 17:40:58
4610
发布2019-12-11 17:40:58
举报
文章被收录于专栏:漫漫全栈路漫漫全栈路

前两篇算是对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端口的交互式容器

代码语言:javascript
复制
$ docker run -p 80 --name Nginx_Web -i -t ubuntu /bin/bash

安装Nginx

代码语言:javascript
复制
$ apt-get install -y nginx

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

安装文本编辑器vim

代码语言:javascript
复制
$ apt-get install -y vim

创建静态页面

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

代码语言:javascript
复制
$ mkdir -p /var/www/html
$ cd /var/www/html
$ vim index.html

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

修改Nginx配置文件

代码语言:javascript
复制
$ cd /etc/nginx/
$ ls
$ vim /sites-enabled/default

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

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

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

运行Nginx

代码语言:javascript
复制
$ nginx
$ ps -ef

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

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

验证网站访问

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

代码语言:javascript
复制
$ 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都会改变.

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-01-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 容器端口映射
  • Nginx部署静态网站
    • 创建映射80端口的交互式容器
      • 安装Nginx
        • 安装文本编辑器vim
          • 创建静态页面
            • 修改Nginx配置文件
              • 运行Nginx
                • 验证网站访问
                  • 退出容器后操作
                  相关产品与服务
                  容器服务
                  腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档