Docker学习笔记十:Docker安装Nginx
准备
下载
- 命令:docker pull nginx
- 安装可参考Docker Hub官网说明的镜像的用法
安装
第一步:简单安装
- 创建容器
- 命令:docker run -d --name=nginx -p 8111:8080 nginx:latest
- 说明
- a、安装完成之后,可进入容器查看nginx的数据文件位置
- 配置文件:/etc/nginx/conf.d、/etc/nginx/nginx.conf
- 静态文件:/usr/share/nginx/html
- 日志文件:/var/log/nginx/
- b、注意:简单安装没有做目录映射,会导致在容器删除之后数据全部丢失,所以建议了解了容器数据存储结构之后,创建容器时挂载目录(持久化)。
第二步:挂载目录并安装
- a、拷贝目录
- 命令:docker cp nginx1:/etc/nginx/nginx.conf /opt/docker_data/nginx/nginx.conf
- 命令:docker cp nginx1:/etc/nginx/conf.d /opt/docker_data/nginx/conf.d
- 命令:docker cp nginx1:/usr/share/nginx/html/ /opt/docker_data/nginx/html
- 命令:docker cp nginx1:/var/log/nginx/ /opt/docker_data/nginx/logs
- 说明:从已经创建的nginx容器拷贝目录到宿主机指定的目录,然后重新创建容器与宿主机做映射。
- 注意:挂载目录之后,在nginx配置文件配置静态目录位置时要注意使用容器内部的目录,如:/usr/share/nginx/html,不是使用/opt/docker_data/nginx/html目录。
- b、创建容器
docker run -d \
--name=nginx1 \
-p 8111:80 \
--privileged=true \ -v /opt/docker_data/nginx/nginx.conf:/etc/nginx/nginx.conf \ -v /opt/docker_data/nginx/conf.d:/etc/nginx/conf.d \ -v /opt/docker_data/nginx/html/:/usr/share/nginx/html \ -v /opt/docker_data/nginx/logs/:/var/log/nginx/ \ -e TZ=Asia/Shanghai \ nginx:latest # docker run:运行并启动容器 # -d:在后台运行容器,并输出容器ID # --name:设置容器的名称 # -p 8111:80:容器的80端口映射宿主机8111端口(程序访问端口)
# --privileged=true:可选配置,目录映射时避免出现权限问题 # -v:设置"宿主机目录:容器目录"映射位置 # -e:设置时区 # 执行安装的镜像信息,格式:名称:标签(REPOSITORY:TAG)
- c、访问nginx服务
- 地址:http://ip:8111
拓展
- nginx安装完成之后,如果添加了指定映射端口以外的端口监听,需要怎么使用nginx进行对应端口监听?
- a、修改映射的配置文件,此处是在配置文件目录“/opt/docker_data/nginx/conf.d/”添加一个“baidu.con”文件
- b、容器添加端口映射。(启动的容器添加端口映射参考:Docker学习笔记四:Docker给已经启动的容器添加目录映射、端口映射)