docker nginx install
docker新手,docker nginx的安装折腾了半天,记录一下。
流程
下载镜像
docker pull nginx静态文件目录、log目录
直接使用本地目录即可,因为不需要从container中copy源文件到本地,所以宿主主机本地mkdir对应的目录即可。
mkdir ~/development/docker/docker-nginx/log
mdkir ~/development/docker/docker-nginx/html配置文件
需要从container中的文件中copy一份到本地,作为初始配置,所以先启动一个默认container,copy文件后将其删除即可。
mkdir ~/development/docker/docker-nginx/conf
docker cp 525adda2ecb7:/etc/nginx/* ~/development/docker/docker-nginx/conf/
配置文件这里花了不少时间,因为link的配置之前没有正确配置。可以从错误日志中查看到对应的错误信息open() "/etc/nginx/nginx.conf" failed (2: No such file or directory)
之前copy时将“/etc/nginx”这个目录copy到本地conf目录了,而非”/etc/nginx”下的所有文件。。
创建容器&启动
docker container create -it --name=docker-nginx -v ~/development/docker/docker-nginx/html/:/usr/share/nginx/html:ro -v ~/development/docker/docker-nginx/conf:/etc/nginx:ro -v ~/development/docker/docker-nginx/logs:/var/log/nginx -p 80:80 nginx
暂时没有启动多个nginx容器的需求,这里使用了固定端口的模式(-p 80:80)。
发现没有指定固定端口,也没有使用随机端口(-P)时,访问一次nginx之后就不可访问了,但是container状态正常。不知道这个是什么原因?
reference
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.