docker start nginx_web进入到我们的容器内部
docker attach nginx_webecho "<h1>Hello Docker</h1>" > /usr/share/nginx/html/index.html
nginx &
然后 使用快捷键 control + Q 退出当前的容器
之后我们在浏览器再次访问:http://localhost:8080/
折腾了这么久,终于看到我们期望的的内容了。
Hello Docker
四、将前面Nginx Demo 变成一个可以玩的 Demo
先创建我们本机需要映射的文件夹
mkdir -p docker_study/log docker_study/etc docker_study/html注意: 在自己的家目录创建
复制我们docker中nginx 的配置文件
docker cp 65bc23f952db:/etc/nginx/ /Users/roverliang/docker_study/etc/关闭掉我们的容器
docker stop nginx_web删除掉我们的练习的demo,我们重新来构建一个可以用的。
docker rm nginx_web将Nginx 镜像和我们本机的目录进行映射,方便我们修改文件
docker run
-p 8080:80
--name nginx_web
-v /Users/roverliang/docker_study/log/:/var/log/nginx
-v /Users/roverliang/docker_study/etc/nginx.conf:/etc/nginx/nginx.conf
-v /Users/roverliang/docker_study/html/:/usr/share/nginx/html
-it
-d
nginx
/bin/bash 运行到这里,我们可能还是会发现访问http://localhost:8080/ 没有内容。但是不要急,解决问题的过程,就是学习新东西的过程,继续网上查资料,参考如下:
Docker运行nginx
摘抄文中让我豁然开朗的一段:
我之前运行的时候,一般都采用交互式:-i 保证容器的stdin开启-t 为容器生成一个tty终端,在命令的最后加一个/bin/bash来保证可以交互。但是实际上,nginx并没有运行,导致我以为容器的端口绑定不是持久化的。
接下来我们需要关掉,并删除我们的容器,再按照如下的命令重启一个:
docker run
-p 8080:80
--name nginx_web
-v /Users/roverliang/docker_study/log/:/var/log/nginx
-v /Users/roverliang/docker_study/etc/nginx.conf:/etc/nginx/nginx.conf
-v /Users/roverliang/docker_study/html/:/usr/share/nginx/html
-d
nginx 五、修改Nginx 配置,解析一个网站
修改我们刚刚复制过来的nginx 配置
cd /Users/roverliang/docker_study/etc
vim nginx.conf在Http 模块中添加如下配置:










