docker中运行nginx
docker运行nginx
# 1. 随便拉起一个实例,要的是里面的配置文件
docker run --name nginx -p 6789:80 -d nginx
# 2. 拷贝nginx中的文件到宿主机目录
docker cp nginx:/etc/nginx/nginx.conf .
docker cp nginx:/etc/nginx/conf.d .
docker cp nginx:/usr/share/nginx/html .
# 3. 删除默认实例
docker stop nginx && docker rm nginx
#4.用docker-compose运行容器
version: '3.1'
services:
nginx:
restart: always
image: nginx
container_name: nginx
ports:
- 6789:80
volumes:
- /app/nginx/conf/nginx.conf:/etc/nginx/nginx.conf
- /app/nginx/conf/conf.d:/etc/nginx/conf.d
- /app/nginx/conf/html:/usr/share/nginx/html
- /app/nginx/conf/logs:/var/log/nginx
说明:
先把nginx 中的配置文件拷贝出来,这样配置文件的所属用户就是当前执行拷贝的用户属组
然后再将相关配置文件以及目录挂载进容器,由于容器内是用root 用户运行,文件的属性是跟着宿主机的属性走,这样就可以实现文件共享访问。
权限的走向是由宿主机到容器内部
类似还有像mysql 的配置文件。
更多推荐
所有评论(0)