1、拉取nginx
docker pull nginx
2、启动
docker run --name nginx -p 80:80 -d nginx
这是访问ip或域名会看到nginx启动成功
3、挂nginx配置 准备工作
不过nginx配置都在docker容器中,每次改都需要进入nginx容器(docker exec -it b628a3549580 /bin/bash)中修改配置,很麻烦,这时需要将nginx文件路径挂载出来:
1) 先创建文件路径:
mkdir /usr/local/nginx
mkdir /usr/local/nginx/www
mkdir /usr/local/nginx/conf
mkdir /usr/local/nginx/logs
2) 复制nginx容器中的相关文件到本地
docker cp b628a3549580:/etc/nginx/nginx.conf /usr/local/nginx/nginx.conf
docker cp b628a3549580:/etc/nginx/conf.d /usr/local/nginx/conf/
docker cp b628a3549580:/usr/share/nginx/html/ /usr/local/nginx/www/html/
docker cp b628a3549580:/var/log/nginx/access.log /usr/local/nginx/logs/access.log
docker cp b628a3549580:/var/log/nginx/error.log /usr/local/nginx/logs/error.log
注:docker cp b628a3549580中的 "b628a3549580" 为容器ID前缀,只要唯一就好了,可通过docker ps -a找到nginx的容器ID
3)删除之前的nginx容器
停止容器:docker stop b628a3549580
移除容器:docker rm b628a3549580
4、启动nginx并挂载路径
docker run --name nginx -p 80:80 -v /usr/local/nginx/nginx.conf:/etc/nginx/nginx.conf -v /usr/local/nginx/www/html/:/usr/share/nginx/html/ -v /usr/local/nginx/logs/access.log:/var/log/nginx/access.log -v /usr/local/nginx/logs/error.log:/var/log/nginx/error.log -v /usr/local/nginx/conf/conf.d/:/etc/nginx/conf.d/ --privileged=true -d nginx
其中 --privileged=true
- 使用该参数,container内的root拥有真正的root权限。
- 否则,container内的root只是外部的一个普通用户权限。