搭建nginx

取最新版的 Nginx 镜像
docker pull nginx:latest

启动容器(默认配置)

docker run --name nginx-test -p 8080:80 -d nginx

	--name nginx-test:容器名称。
	-p 8080:80: 端口进行映射,将本地 8080 端口映射到容器内部的 80 端口。
	-d nginx: 设置容器在在后台一直运行。

nginx服务器就这样跑起来了,访问http://ip:端口就可看到Nginx的欢迎页。如果使用话,还需要进入容器进行配置,1.容器内编辑文件需要安装各种插件,2.操作稍微麻烦。这个时候我们需要在宿主机中集中管理Nginx的配置及日志等文件.

挂载配置文件启动方式(可以用宿主主机文件)

第一步:复制docker-nginx 容器中的默认配置文件到宿主机器中
1.宿主机创建目录
mkdir -p /data/nginx/{conf,html,logs}
2.创建一个默认的容器名字叫"nginx-test":
docker run --name nginx-test -p 8080:80 -d nginx
3.吧容器中的默认配置复制出来(自写的nginx.conf,可以忽略 2)

docker cp nginx-test:/etc/nginx/nginx.conf /data/nginx/conf/nginx.conf
docker cp nginx-test:/etc/nginx/conf.d /data/nginx/conf/conf.d
docker cp nginx-test:/usr/share/nginx/html /data/nginx/html

4.自己写的nginx.conf 可以忽第3步骤不用复制文件 如果访问html出现404 注意检查 localtion中的root 路径是否正确(跟原生不一样)

location / {
#这的路径与原生nginx 的路径不一样.,此处需要注意 不然怎么访问
root /usr/share/nginx/html;
index index.html index.htm;
}

5.删除原来的容器(没有创建)
docker stop nginx-test
docker rm nginx-test
6.挂载启动命令:

docker run -p 8081:80 --name nginx \
	--privileged=true \
	 -v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
	 -v /data/nginx/conf/conf.d:/etc/nginx/conf.d \
	 -v /data/nginx/log:/var/log/nginx \
	 -v /data/nginx/html:/usr/share/nginx/html \
	 -d nginx:latest

说明:
docker run -p 8081:80 --name nginx-test \   //端口8081映射到容器80中  容器名字取名为 nginx-test
	--privileged=true \  //防止挂载时权限不够 
	//-v 就是容器目录 挂载到宿主机器的目录
	 -v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
	 -v /data/nginx/conf/conf.d:/etc/nginx/conf.d \
	 -v /data/nginx/log:/var/log/nginx \
	 -v /data/nginx/html:/usr/share/nginx/html \
	 -d nginx:latest   //后台运行  使用的镜像为nginx:版本(也就是镜像里面TAG属性)

7.大功告成!输入ip+宿主机端口号就能访问到welcome!!!
如果改html或者改配置文件.只需要在宿主机里面改即可~

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐