美文网首页Docker容器
在阿里云服务器上的docker下建立一个nginx的web服务器

在阿里云服务器上的docker下建立一个nginx的web服务器

作者: 朋朋彭哥 | 来源:发表于2020-11-22 12:08 被阅读0次

    目的:

    在阿里云ECS服务器上的docker下建立一个nginx的web服务器,并启动它,让外网可以看到

    01-找到需要使用的镜像

    docker pull nginx:1.17.5-alpine
    #可以先到nginx.org官网查看当前最新版本,再到hub.docker.com查找nginx的版本,以上选中的alpine版本是一个非常小的版本
    

    02-查看当前系统下有多少个镜像

    docker images
    # 或者
    docker image ls
    
    02

    03-列出容器内的目录结构(非必要操作)

    docker container run nginx:1.17.5-alpine ls
    # 可以看到这应该是一个小型linux的目录结构
    
    03

    04-确认容器的核心版本(非必要操作)

    docker container run nginx:1.17.5-alpine cat /etc/os-release
    # 可以看到系统是Alpine Linux 3.10.3
    
    04

    05-启动nginx容器

    docker container run --name mynginx -d -p 99:80 nginx:1.17.5-alpine
    # container可以省略
    # --name 该容器的名称
    # -d 后台运行
    # -p 99:80 在本地服务器端口和启动的容器内端口做映射。本地对外端口99, nginx容器端口80
    # 可以看到返回了一串哈希码,表明启动成功了
    
    05

    06-检查一下nginx容器是否真的启动了

    docker container ls
    # 或
    docker container ps
    # 或
    docker ps
    
    06

    07-检查一下nginx的web服务是否启动了

    # 先用ifconfig检查一下当前服务器的ip地址,找出来后用curl命令来检测
    curl http://172.16.130.208:99
    # 或
    curl http://127.0.0.1:99
    # 可以看到web服务器已经启动了, 能看到默认的index.html文件内容。
    
    07

    08-复制服务器文件到docker的nginx指定目录下

    docker cp /home/web.zip mynginx:/usr/share/nginx/html
    

    09-检查一下nginx容器的bin目录下有什么自带指令

    docker exec -it mynginx ls /bin
    
    09

    10-进入到nginx的命令行操作界面, 使用sh指令操作nginx容器

    alpine linux没有附带bash, 只有sh可用

    docker exec -it mynginx sh
    # 可以看到已经进入到nginx容器内了
    
    10

    11-解压复制进来的文件

    把原目录下的其它文件删除掉


    11-01

    解压web文件


    11-02

    12-在阿里云ECS控制面板上放行99端口

    12

    13-现在可以用浏览器访问了

    13

    补充:

    从以上步骤来看, 其实有一个步骤非常繁琐, 就是将外部web文件复制进nginx容器的默认html存储路径, 如果我们需要经常性维护该网站, 需要来回的复制解压, 划不来.
    可以采用路径映射的形式来操作, web文件还是放置在服务器的常规路径上, 让这个路径与nginx的html路径进行映射对应就可以. 维护时只需要维护服务器该路径下的文件即可.

    • 停止当前的nginx容器
    docker stop mynginx
    
    • 移除nginx容器
    docker rm mynginx
    
    • 启动nginx容器, 并指定端口, 做好服务器端路径和nginx容器端路径映射
    docker run --name mynginx -d -p 99:80 -v /usr/local/web:/usr/share/nginx/html nginx:1.17.5-alpine
    

    现在可以检查一下了


    other-01

    至此, 基本完成了nginx容器的搭建和启动, 并将web程序挂载进去了, 以后更新web程序的话,只要用ftp或xshell之类的UI界面软件操作, 那样更友好.

    one more thing:

    web文件是从网上随便找的flutter生成的, 自己编译了一下. 仅做学习使用, 如有违规, 请提醒我删除, 谢谢!

    相关文章

      网友评论

        本文标题:在阿里云服务器上的docker下建立一个nginx的web服务器

        本文链接:https://www.haomeiwen.com/subject/ktduiktx.html