1 搜索nginx镜像.
docker search nginx
2 拉取nginx最新的镜像
docker pull ngnix
3 启动一个容器
docker run --name nginx -p 8081:80 -d nginx nginx 容器名称。 -d设置容器在在后台一直运行。 -p 端口进行映射,将本地 8081 端口映射到容器内部的 80 端口。
4 部署Nginx
①:创建目录存放后面的东西
mkdir -p ~/nginx/www ~/nginx/logs ~/nginx/conf www: 目录将映射为 nginx 容器配置的虚拟目录。logs: 目录将映射为 nginx 容器的日志目录。conf: 目录里的配置文件将映射为 nginx 容器的配置文件。②:拷贝容器内 Nginx 默认配置文件到本地当前目录下的 conf 目录,容器 ID 可以查看 docker ps 命令输入中的第一列:
docker cp 58145b49d4a5:/etc/nginx/nginx.conf ~/nginx/conf
③:部署命令:
docker run -d -p 8082:80 --name runoob-nginx-test-web -v ~/nginx/www:/usr/share/nginx/html -v ~/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v ~/nginx/logs:/var/log/nginx nginx
-p 8082:80: 将容器的 80 端口映射到主机的 8082 端口。
--name runoob-nginx-test-web:将容器命名为 runoob-nginx-test-web。
-v ~/nginx/www:/usr/share/nginx/html:将我们自己创建的 www 目录挂载到容器的 /usr/share/nginx/html。
-v ~/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:将我们自己创建的 nginx.conf 挂载到容器的 /etc/nginx/nginx.conf。
-v ~/nginx/logs:/var/log/nginx:将我们自己创建的 logs 挂载到容器的 /var/log/nginx。
nginx :启动nginx
④:测试
启动以上命令后进入 ~/nginx/www 目录:
$ cd ~/nginx/www创建 index.html 文件,内容如下:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>菜鸟教程(runoob.com)</title> </head> <body> <h1>我的第一个标题</h1> <p>我的第一个段落。</p> </body> </html>当访问该地址的时候,nginx 会按照 index.html,index.htm ,index.PHP 的先后顺序在根目录中查找文件。如果这三个文件都不存在,那么nginx就会返回403 Forbidden。
参考博文:
https://www.runoob.com/docker/docker-install-nginx.html
默认的用户名和密码为guest guest(我的默认的可以不用多余的配置,但是我看到其他文章说需要配置)
如果用参考博客的命令可以能正常部署和访问web管理页面 但是项目连接有权限问题(项目报错:socket closed) ,用默认的用户名密码以便测试。