Nginx

基于的 Ubuntu(18.04) 系统的 Nginx 镜像,用于提供 WEB(nginx) 服务。

版本信息:

  • 1.16.1、latest

镜像信息:

  • 镜像地址:colovu/nginx:latest
    • 依赖镜像:colovu/ubuntu:latest

数据卷

镜像默认提供以下数据卷定义:

 /srv/www			# 站点源文件
 /srv/conf		# nginx 配置文件,配置文件存放在 nginx 子目录中
 /var/log			# 日志文件,nginx 日志存放在子目录 nginx 中
 /var/run			# 进程运行PID文件

如果需要持久化存储相应数据,需要在宿主机建立本地目录,并在使用镜像初始化容器时进行映射。

举例:

  • 使用宿主机/opt/conf存储配置文件
  • 使用宿主机/srv/data存储数据文件
  • 使用宿主机/srv/log存储日志文件

创建以上相应的宿主机目录后,容器启动命令中对应的映射参数类似如下:

-v /host/dir/to/conf:/srv/conf -v /host/dir/to/data:/srv/data -v /host/dir/to/log:/var/log

注意:应用需要使用的子目录会自动创建。

使用说明

运行容器

生成并运行一个新的容器:

docker run -d --name nginx \
  -p 80:8080 \
  -v /host/dir/to/www:/srv/www:ro \
  -v /host/dir/to/log:/var/log \
  -v /host/dir/to/conf:/srv/conf \
  colovu/nginx:latest

使用宿主机用户(如www-data用户)生成新的容器:

docker run -d --name nginx \
	--user www-data \
  -p 80:8080 \
  -v /host/dir/to/www:/srv/www:ro \
  -v /host/dir/to/log:/var/log \
  -v /host/dir/to/conf:/srv/conf \
  colovu/nginx:latest

注意:如果使用自定义用户创建容器,且需要使用数据卷,可以有两种方式确保权限正确:

  • 指定数据卷目录中不存在nginx子目录,由容器创建对应nginx目录及配置文件,然后个性化修改
  • 指定数据卷目录中存在nginx子目录,需要确保子目录及目录中文件属于启动容器时所指定的用户组

如果存在dvc数据容器,可以使用以下命令:

docker run -d --name nginx \
  -p 80:8080 \
  --volumes-from dvc \
  colovu/nginx:latest

进入容器

使用容器ID或启动时的命名(本例中命名为php-fpm)进入容器:

docker exec -it nginx /bin/bash

停止容器

使用容器ID或启动时的命名(本例中命名为php-fpm)停止:

docker stop nginx

注意事项

  • 容器中启动参数不能配置为后台运行,只能使用前台运行方式,即:daemonize no
  • 如果应用使用后台方式运行,则容器的启动命令会在运行后自动退出,从而导致容器退出

本文原始来源 Endial Fang @ Github.com

S
Description
No description provided
Readme MIT 224 KiB
Languages
Shell 51%
Dockerfile 49%