1. 下载nginx 镜像文件
docker pull nginx
2.创建容器并运行nginx 镜像
docker run -d -p 80:80 --name mynginx nginx
好了,直接访问吧。。。
参数详解 https://docs.docker.com/engine/reference/run/
-d : 分离模式
-p : 是容器内部端口绑定到指定的主机端口。
3.创建挂载目录
mkdir -p /data/nginx/{conf,conf.d,html,logs}
4.复制容器基础文件到宿主注解,挂载配置文件
docker cp mynginx:/etc/nginx/nginx.conf /data/nginx/conf
docker cp mynginx:/usr/share/nginx/html/index.html /data/nginx/html
docker cp mynginx:/etc/nginx/conf.d/default.conf /data/nginx/conf.d
5.运行
docker run -d -p 80:80 --restart=always --privileged=true --name mynginx \
-v /data/nginx/html:/usr/share/nginx/html \
-v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /data/nginx/conf.d:/etc/nginx/conf.d/ \
-v /data/nginx/logs:/var/log/nginx nginx
--restart=always
重启策略
- no,默认策略,在容器退出时不重启容器
- on-failure,在容器非正常退出时(退出状态非0),才会重启容器
- on-failure:3,在容器非正常退出时重启容器,最多重启3次
- always,在容器退出时总是重启容器
- unless-stopped,在容器退出时总是重启容器,但是不考虑在Docker守护进程启动时就已经停止了的容器
--privileged=true
使用该参数,container内的root拥有真正的root权限。