docker安装nginx
1.拉取镜像
docker pull nginx
2.创建容器
docker run -d --name nginx -p 80:80 nginx
3.复制容器中配置文件到宿主机
docker cp nginx:/etc/nginx/nginx.conf /usr/local/nginx
说明:
//提前创建好/usr/local/nginx目录
// cp命令用于容器与宿主机之间数据拷贝
// 容器拷贝到宿主机 docker cp 容器名:容器目录 宿主机目录
// 宿主机拷贝到容器 docker 宿主机目录 容器名:容器目录
// 不管容器是否启动,拷贝命令都会立即生效,如果内容有重复,会自己覆盖不会提醒
4.删除nginx容器
docker rm -f nginx // -f 强制删除,可以删除正在运行的容器
5.创建容器并挂载配置文件,映射端口
docker run --name nginx -p 80:80 -itd --privileged=true --restart=always -v /usr/local/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /usr/local/nginx/logs:/var/log/nginx -v /usr/local/nginx/html:/usr/share/nginx/html -v /usr/local/nginx/conf/conf.d:/etc/nginx/conf.d nginx
说明:
// 需要添加--privileged=true,否则会报 nginx: [emerg] open() "/etc/nginx/nginx.conf" failed (13:Permission denied),意思是挂载失败,没有权限
// 这样下次就可以直接修改宿主机的配置文件,然后docker restart nginx重启容器,或者进入容器内部修改配置文件,那么宿主机的配置文件也会同步更新
//并不是根目录下任何一个目录都可以作为挂载点,由于挂载操作会使得原有目录中文件被隐藏,因此根目录以及系统原有目录都不要作为挂载点,会造成系统异常甚至崩溃,挂载点最好是新建的空目录