美文网首页
docker下运行简单的nginx项目

docker下运行简单的nginx项目

作者: 焚_44b3 | 来源:发表于2019-04-12 16:07 被阅读0次

    镜像创建容器
    容器存储应用
    仓库存储镜像
    懵逼了吧

    hello docker

    docker run ubuntu echo hello docker
    

    运行这个命令的过程中会判断容器 是否存在,如果存在,则输出hello docker 如果不存在,则创建容器ubuntu 。

    命令格式:docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
    Usage: Run a command in a new container
    中文意思为:通过run命令创建一个新的容器(container)

    部署一个简单的nginx项目

    docker run -p 8989:80 -d nginx
    

    同样,如果没有nginx容器,如果没有则创建。

    • -p 8989:80 指的是将容器的80端口映射服务器的8989端口,访问服务器的8989端口就可以访问到你部署的项目啦。(注意:nginx默认项目默认端口是80);
    • -d指定容器运行于前台还是后台,默认为false。默认指的是以守护进程的方式后台运行,即不用将运行状态输出在命令行。
    • nginx指的是 nginx容器。

    执行完上面的命令后,通过ip地址访问8989页面 就会显示一个默认的 welcome to nginx 的页面。下面使用自定义页面来替换这个默认的页面。

    写一个简单的html页面

    <html>
    <head>
    <meta charset="utf-8" />
    <title>docker测试中文版</title>
    </head>
    <body>
    欢迎学习docker,这里是php菜鸟学院教程
    </body>
    </html>
    

    将该文件cp到docker nginx容器下。(假设该文件存储在 /home/docker/index.html)

    cd /home/docker
    docker cp index.html 4f74ad899aa7(容器id)://usr/share/nginx/html(容器下nginx 根目录)
    

    访问页面,就会出现一个自定义的界面。

    停止docker 容器

    docker stop 4f74ad899aa7(容器id)
    

    注意:容器id可以通过 docker ps 查询出,该命令表示停止一个指定容器id的docker容器。

    让修改docker资源文件生效

    停止docker后,再次重新启动docker,访问之前的页面,发现恢复到原始默认页面。
    原因:docker在容器内做的改动都是暂时的,不会被永久保留的
    再次将原来的index.html 拷贝到这个容器下

    cd /home/docker
    docker cp index.html 4f74ad899aa7(容器id)://usr/share/nginx/html(容器下nginx 根目录)
    

    注意:每次重启后容器id会发生变化,这里为了方便演示,依旧原来的。
    然后提交保存,让docker资源文件永久生效:

    docker commit -m "first page!" 4f74ad899aa7 first-page
    
    • -m "message" 表示提交说明
    • 4f74ad899aa7 容器id,每次重启后生成的id都不一样
    • first-page 镜像id。注意:每次提交后将生成新的镜像。docker images可以查看所有镜像。

    以上操作 停止容器后 再次重启容器会发现还会恢复默认。问题继续排查中...

    相关命令

    • 查看容器目录结构
    docker exec -it 容器id   /bin/bash
    
    • nginx根目录
    /usr/share/nginx/html
    
    • 查看历史容器
    docker ps -a
    
    • 删除镜像
    docker rmi 镜像id (多个可以用空格)
    
    • 删除容器
    docker rm 容器id (多个可以用空格)
    
    • 获取镜像
    docker pull
    
    • 创建镜像
    docker build
    
    • 列出镜像
    docker images
    
    • 运行容器
    docker run
    
    • 容器列表
    docker ps
    
    • 在主机和容器之间拷贝文件
    docker cp 
    
    • 保存改动为新的镜像
    docker commit
    

    资源

    docker run命令详解
    https://www.cnblogs.com/yfalcon/p/9044246.html

    视频资源
    https://www.imooc.com/video/15646/0

    相关文章

      网友评论

          本文标题:docker下运行简单的nginx项目

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