首先从docker仓库下载nginx镜像。
docker pull nginx
我这里没有指定版本号,所以拉取的最新的版本。
然后是分别把nginx容器里的配置文件,日志文件,和html文件映射到宿主机上。方便以后的更改。
以我的为例:在/opt目录新建了nginx文件夹,里面分别有log,conf,html三个文件夹。
接着从nginx容器里把配置文件复制到宿主机/opt/nginx目录里。这一步不能省略,否则启动了nginx容器,又指定了宿主机映射目录,会报找不到文件的错误。
如何复制呢?先把nginx容器启动,不要指定宿主机映射目录。
docker run -p 80:80 –name nginx nginx
复制配置文件
docker cp nginx://etc/nginx/ /opt/nginx/conf
复制html文件
docker cp nginx://usr/share/nginx/html/ /opt/nginx/html
这样就复制完成了,然后停掉这个nginx容器,并把它删了。
docker stop nignx
docker rm nignx
接着就可以正式的启动nginx容器,并指定宿主机映射目录。
docker run -d -p 80:80 \
-v /opt/nginx/log/:/var/log/nginx/ \
-v /opt/nginx/conf/:/etc/nginx/ \
-v /opt/nginx/html/:/usr/share/nginx/html/ \
--name nginx \
nginx
这样nginx容器就启动成功,在浏览器访问一下,并可以看到宿主机/opt/nginx/log目录下生成了access.log日志文件,即表示目录映射成功。