docker 拉取 nginx 最新镜像;
docker pull nginx
启动一个临时容器;
docker run -d --name nginx nginx
nginx 运行在 docker 容器中对应的目录如下:
配置文件目录:/etc/nginx;
日志目录:/var/log/nginx;
项目根目录:
- /usr/share/nginx/html
- ;
了解 nginx 在 docker 中运行的目录地址是为了把他们给复制到宿主机的目录下
复制 nginx 的配置文件到宿主机中
进入 home 目录, 新建 nginx 文件夹, 用来放置 nginx 的所有文件;
cd home mkdir nginx
进入 nginx 文件夹, 新建放置 nginx 配置的文件目录, 并把 docker 容器中的 nginx 配置复制进去;
- cd nginx mkdir conf cd conf
- docker cp nginx:/etc/nginx ./
返回 nginx 文件夹, 新建放置 HTML 文件和 log 文件的目录;
cd .. mkdir HTML mkdir log
停止之前启动的临时 nginx 容器, 并删除
docker stop nginx docker rm nginx
启动新的 nginx 服务
docker run -d -p 80:80 -p 443:443 --name nginx --restart=always -e TZ="Asia/Shanghai" -v /home/nginx/HTML:/usr/share/nginx/HTML:ro -v /home/nginx/conf/nginx:/etc/nginx/:ro -v /home/nginx/log:/var/log/nginx nginx
:ro: 表示容器内部的 nginx 文件是只读的, 想要修改配置内容, 只能修改宿主机的 conf 文件夹; 这样带来的好处是安全性更高.
-e TZ="Asia/Shanghai"
: 表示把时区设置为中国的时区;
添加 HTML 文件
启动成功后, 在 home->nginx->HTML 目录下放置 web 项目, 输入 ip+80 端口号就可以访问了.
来源: http://www.jianshu.com/p/854d71433538