本文适用人群
- window环境
- 对docker,nginx有基本了解
docker安装:官网直接下载安装即可
拉取镜像,安装nginx
方式一:命令查找
docker search name
方式二:网站搜索查找
http://hub.daocloud.io/
这里使用第一种方式:先查找镜像,再选择适合的版本拉取,一般拉取第一个即可
步骤一:查找
docker search nginx
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
nginx Official build of Nginx. 14535 [OK]
jwilder/nginx-proxy Automated Nginx reverse proxy for docker con… 1980 [OK]
richarvey/nginx-php-fpm Container running Nginx + PHP-FPM capable of… 809 [OK]
jc21/nginx-proxy-manager Docker container for managing Nginx proxy ho… 158
linuxserver/nginx An Nginx container, brought to you by LinuxS… 141
步骤二:拉取
docker pull nginx
步骤三:验证是否拉取成功,使用docker images查看已经安装的镜像
docker images
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 35c43ace9216 2 weeks ago 133MB
daocloud.io/library/nginx 1.19.2-perl 9bbf3cf08562 5 months ago 178MB
docker/getting-started latest 3c156928aeec 10 months ago 24.8MB
运行镜像,启动nginx服务
步骤一:运行命令
docker run -d -p 8088:80 --name nginx-server nginx
命令解释
docker run:运行镜像
-d:设置容器在后台一直运行
-p:端口进行映射,将本地 8088 端口映射到容器内部的 80 端口
–name nginx-server:设置一个名字
nginx:就是docker images中的REPOSITORY,也可以设置为docker images中的IMAGE ID
执行成功后会生成一串字符串,如 0be2187033deb4295653220ff26c847ece269fb5f9efbef07019b7b06d131cb9
步骤二:运行命令验证是否运行成功,使用docker ps查看正在运行的镜像
docker ps
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2187d5f1f00a nginx "/docker-entrypoint.…" About an hour ago Up About an hour 0.0.0.0:8088->80/tcp nginx-server
步骤三:打开浏览器,输入localhost:8088,或者127.0.0.1:8088,会显示默认的nginx页面
将本地文件映射到nginx,也就是修改这个页面,放自己写好的页面,并且修改nginx配置
步骤一:先在本地生成目录,并且创建好文件
mkdir -p ~/nginx/www ~/nginx/logs ~/nginx/conf
注意:~代表的是当前路径,如果不知道当前路径,可以使用命令 pwd 查看当前所在路径
可以改成 你的所在路径 + /nginx/www,如我的:/c/Users/PC/nginx/www
pwd
/c/Users/PC
步骤二:在nginx/www里放你的页面文件,这里使用测试index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<h1>hello docker nginx!!!</h1>
</body>
</html>
步骤三:将运行中容器的配置拷贝下来,这样就不用从0写了,再根据自己的需要修改配置,新手可以忽略拷贝配置,直接跳到第四步。
docker cp 2187d5f1f00a:/etc/nginx/nginx.conf ~/nginx/conf
步骤四:停掉已经运行的nginx服务
docker stop nginx
步骤五:重新运行nginx服务,将本地文件映射到nginx容器中
注意大坑
windows下的路径需要:写成这样的格式:c:/xxx/xxx/nginx/www
macbook 和 linux 好像写成:/xxx/xxx/nginx/www(不太确定,请自行尝试,这里主要测试了windows环境)
如果不行,就两种都试一试
只映射页面的写法,不映射配置
docker run -d -p 8088:80 --name nginx-server -v c:/Users/PC/nginx/www:/usr/share/nginx/html
映射页面和配置的写法,想要了解更多的,需要去学习nginx的相关配置
docker run -d -p 8088:80 --name nginx-server -v c:/Users/PC/nginx/www:/usr/share/nginx/html -v c:/Users/PC/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v c:/Users/PC/nginx/logs:/var/log/nginx nginx
步骤六:打开浏览器,测试效果
设置成功,修改index.html文件的内容,刷新即可更改
设置代理转发
(先略,待更新)