docker 自定义安装 nginx

来源:互联网 发布:linux下android studio 编辑:程序博客网 时间:2024/05/21 08:36

创建Dockerfile

首先,创建目录nginx,用于存放后面的相关东西。

runoob@runoob:~$ mkdir -p ~/nginx/www ~/nginx/logs ~/nginx/conf

www目录将映射为nginx容器配置的虚拟目录

logs目录将映射为nginx容器的日志目录

conf目录里的配置文件将映射为nginx容器的配置文件

进入创建的nginx目录,创建Dockerfile

FROM debian:jessieMAINTAINER NGINX Docker Maintainers "docker-maint@nginx.com"ENV NGINX_VERSION 1.10.1-1~jessieRUN apt-key adv --keyserver hkp://pgp.mit.edu:80 --recv-keys 573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62 \        && echo "deb http://nginx.org/packages/debian/ jessie nginx" >> /etc/apt/sources.list \        && apt-get update \        && apt-get install --no-install-recommends --no-install-suggests -y \                                                ca-certificates \                                                nginx=${NGINX_VERSION} \                                                nginx-module-xslt \                                                nginx-module-geoip \                                                nginx-module-image-filter \                                                nginx-module-perl \                                                nginx-module-njs \                                                gettext-base \        && rm -rf /var/lib/apt/lists/*# forward request and error logs to docker log collectorRUN ln -sf /dev/stdout /var/log/nginx/access.log \        && ln -sf /dev/stderr /var/log/nginx/error.logEXPOSE 80 443CMD ["nginx", "-g", "daemon off;"]

通过Dockerfile创建一个镜像,替换成你自己的名字

docker build -t nginx .

创建完成后,我们可以在本地的镜像列表里查找到刚刚创建的镜像

runoob@runoob:~/nginx$ docker images nginxREPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

创建nginx.sh脚本

touch nginx.sh (创建文件)

vi nginx.sh (编辑文件)

在nginx.sh 中粘贴以下代码

#!/bin/shNAME=hy-nginxcase "$1" in create)#port_map="-p $HTTP_PORT:80 -p $HTTPS_PORT:443"#volumn_map="-v $CURDIR/conf/nginx.conf:$IMGDIR/conf/nginx.conf \#-v $CURDIR/conf/perm:$IMGDIR/conf/perm \#-v $CURDIR/logs:$IMGDIR/logs \#-v $CURDIR/lualib:/usr/local/openresty/nginx/lualib/ \#-v /etc/localtime:/etc/localtime \#-v /var/lib/openresty/resource/:$WWWDIR/resource/ \#-v $CURDIR/www:$WWWDIR \#-v /tmp/docker_share:/tmp/docker_share"#docker run -it -d --name $NAME $port_map $volumn_map --net host openresty/openresty:trustydocker run -it --name $NAME -v $PWD/www:$PWD/www -v $PWD/conf/nginx.conf:$PWD/conf/nginx.conf -v $PWD/logs:$PWD/wwwlogs  -d nginx:1.13.2;;delete)docker rm $NAME;;start)docker start $NAME;;stop)docker stop $NAME;;restart)docker restart $NAME ;;status)docker ps -a | grep $NAME;;*)echo "Usage: $0 {start|stop|status|restart}"exit 1;;esac
使用脚本启动镜像

./nginx.sh create(创建镜像)
./nginx.sh start(启动镜像)
原创粉丝点击