?# 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 的配置文件。
|