Docker 运行nginx
运行了hello world 还不是我们的目标,这章我们要来学习运行一个静态的页面
一、获取Nginx
获取镜像
docker pull nginx |
二、启动镜像
方法一:指定端口映射
本机80端口 映射 容器的80端口,-d 是后台运行的意思,
# --name 是给它指定一个名字,我们这里给它指定的名字叫mynginx(不指定时docker会随机给它起一个名字) |
方法二:随机端口映射
本机随机指定一个端口映射容器的nginx 启动端口,-d 是后台运行的意思
docker run -d --name mynginx -P 80:80 nginx |
三、浏览器访问
nginx 默认启动的端口为 80
通过命令docker ps
或者 docker ps | grep nginx
,查看端口的映射情况
浏览器访问:http://localhost/ 或者 curl http://localhost/
四、修改index.html 页面
方法一:进入容器内部修改index.html 页面
这就需要我们学新的一个命令docker exec
了。格式如下:
# 参数-i是与用户交互式 -t 可以理解为一个伪终端,具体的可以通过 docker exec --help 命令来查看exec 的参数详解 |
运行上面的命令之后我们就进到了运行nginx 容器里了,我们要修改的index页面的路径为/usr/share/nginx/html/index.html
当我们想使用vim 对它进行修改的时候,发现没有vim 这个命令。所以我们需要安装vim,运行如下命令(测试可以这么干)
# 更新源,然后安装vim,然后就可以编辑了。 |
接下来就可以修改了,想退出容器只需要运行exit
命令即可
方法二:映射页面目录(推荐)
1、首先我们新建一个目录,并进入该目录,建立一个html的子目录
# -p 是递归创建 |
2、在html目录下创建一个index.html页面
vim html/index.html |
3、运行容器
在运行容器之前我们要把刚刚运行的容器停止掉,以为我们需要用80来启动它(如果你不要80端口,可以不用停止它)
# 停止刚才运行的容器,mynginx 就是我们刚才命名的 |
打开浏览器,访问 http://localhost/,应该就能看到 Hello Docker!!! 了
我们可以在我们的主机上修改 index.html 的内容,然后刷新浏览器,看是否浏览器也更新了。
五、挂载配置文件
1、拷贝nginx容器的配置文件
# 别忘了后面有一个 `.` 这个点表示当前目录 |
2、改名
执行完成后,当前目录应该多出一个nginx子目录。然后,把这个子目录改名为conf
mv nginx conf |
3、停止我们刚才运行的容器
docker stop mynginx |
4、重新启动
我们的容器名字这里得改一下 mynginx 刚才我们已经用了
docker run -d --name mynginx2 -v "$PWD/html":/usr/share/nginx/html -v "$PWD/conf":/etc/nginx -p 80:80 docker.io/nginx |
5、修改配置
只需要修改 conf/conf.d/default.conf
文件即可