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

docker下运行简单的nginx项目

作者: AISpider | 来源:发表于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