docker中使用alpine linux镜像基础安装nginx服务笔记

1 篇文章 0 订阅
1 篇文章 0 订阅

容器随docker服务的启动而启动:

docker开机启动

systemctl enable docker

容器启动

1、还没有创建容器的

sudo docker run -it --name=myAlpine --restart=always alpine /bin/sh

2、已经创建了容器的

sudo docker update --restart=always myAlpine

标志:描述
no:不自动重启容器(默认值)
on-failure:如果容器由于错误而退出,则将其重新启动,非零退出代码表示错误
unless-stopped:重新启动容器,除非明确停止容器或者 Docker 被停止或重新启动
always:只要容器停止了,就重新启动


dockerfile生成NGINX

FROM alpine
MAINTAINER allen xjcqc@qq.com
ADD nginx-1.18.0.tar.gz /tmp
ADD nginx.conf /tmp/nginx.conf
ADD init.sh /tmp/init.sh
WORKDIR /tmp/nginx-1.18.0
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories\
	&& apk add mlocate g++ pcre-dev zlib-dev make\
	&& apk update\
	&& apk upgrade\
	&& addgroup -S nginx\
	&& adduser -S -G nginx -s /sbin/nologin -h /usr/local/nginx nginx\
	&& ./configure --user=nginx --group=nginx\
	&& make\
	&& make install\
	&& mkdir -p /run/nginx /data/www /data/filesCenter /data/logs/www\
	&& mv /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.conf.back\
	&& mv /tmp/nginx.conf /usr/local/nginx/conf/nginx.conf\
	&& mv /tmp/init.sh /usr/local/nginx/init.sh\
	&& rm -rf /tmp/*\
	&& /usr/local/nginx/sbin/nginx -t
CMD ["/bin/sh","/usr/local/nginx/init.sh"]
# sudo docker build -t alpine-nginx
# sudo docker run -id -p 8000:80 -p 8001:81 -h nginx -v /data/www:/data/www -v /data/filesCenter:/data/filesCenter --restart=always --name=nginx alpine-nginx

nginx.conf

user nginx;
worker_processes  4;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile      on;
    gzip on;
    keepalive_timeout  65;
    log_format main '$remote_addr || $remote_user || $time_local || $request || $status || $body_bytes_sent || $http_referer || $http_user_agent || $http_x_forwarded_for';
    include /data/www/*/*.conf;
} 

init.sh

#!/bin/sh
/usr/local/nginx/sbin/nginx
/bin/sh

cat /data/www/x-software/http.conf

server {
    charset               utf-8;
    client_max_body_size  128M;
    #:后端服务器连接的超时时间_发起握手等候响应超时时间
    #proxy_connect_timeout 600s;
    #:连接成功后_等候后端服务器响应时间_其实已经进入后端的排队之中等候处理(也可以说是后端服务器处理请求的时间)
    #proxy_read_timeout 600s;
    #:后端服务器数据回传时间_就是在规定时间之内后端服务器必须传完所有的数据
    #proxy_send_timeout 600s;
    #client_body_buffer_size 128k;
    #client_header_timeout 600s;
    #client_body_timeout 600s;
    #send_timeout 600s;
    #proxy_buffer_size 4k;
    #proxy_buffers 32 4k;
    #proxy_busy_buffers_size 64k;
    #keepalive_timeout  600s;
    #fastcgi_buffers 8 128k;
    #fastcgi_connect_timeout 600s;
    fastcgi_send_timeout 600s;
    fastcgi_read_timeout 600s;
    #fastcgi_buffer_size 128k;
    #fastcgi_busy_buffers_size 256k;
    #fastcgi_temp_file_write_size 256k;
    
    #gzip on;
    listen                80;
    #listen               [::]:80;
    #default_server ipv6only = on;
    server_name           zctech.tech;
    root                  /data/www/x-software/web;
    index                 index.php;
    access_log            /data/www/x-software/runtime/zctech.tech.access.log;
    error_log   	  /data/www/x-sfotware/runtime/zctech.tech.error.log;

    #正式环境
    location / {
        try_files $uri $uri/ /index.php$is_args$args;
    }
    #测试环境
    location /index-test.php {
        try_files $uri $uri/ /index-test.php$is_args$args;
    }
    #开始环境
    location /index-dev.php {
        try_files $uri $uri/ /index-dev.php$is_args$args;
    }

    #location /upload/ruomei/ {
    #   autoindex on;
    #}

    # uncomment to avoid processing of calls to non-existing static files by Yii
    #location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ {
        #try_files $uri =404;
    #}
    #error_page 404 /404.html;

    # deny accessing php files for the /assets directory

    location ~ ^/assets/.*\.php$ {
        deny all;
    }

    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_pass 192.168.2.108:9000;
        #fastcgi_pass unix:/var/run/php5-fpm.sock;
        try_files $uri =404;
    }

    location ~* /\. {
        deny all;
    }
}
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
安装Nginx可以使用Docker进行操作。以下是一个简单的安装步骤: 1. 首先,确保已经安装Docker。可以通过运行`docker --version`命令来检查Docker是否已经安装成功。 2. 创建一个文件夹用于挂载Nginx的配置文件、日志和静态文件。例如,可以运行以下命令来创建一个名为`/usr/data/docker/nginx`的文件夹: ``` mkdir -p /usr/data/docker/nginx/{conf,conf.d,html,log} ``` 3. 下载并运行Nginx容器。可以使用以下命令来下载并启动一个Nginx容器: ``` docker run --name nginx -d -p 80:80 -v /usr/data/docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /usr/data/docker/nginx/log:/var/log/nginx -v /usr/data/docker/nginx/html:/usr/share/nginx/html nginx ``` 这将下载并运行Nginx容器,并将宿主机的文件夹`/usr/data/docker/nginx`挂载到容器内对应的目录。 4. 现在,您可以通过访问`http://localhost`来验证Nginx是否已经成功安装。您将看到Nginx的默认首页。 以上就是在Linux使用Docker安装Nginx的步骤。您可以根据自己的需求进行配置和自定义。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Linux 安装NginxDocker)](https://blog.csdn.net/AndyChaoss/article/details/123744560)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [Linux DockerNginx 安装](https://blog.csdn.net/qq_34730511/article/details/103962093)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [linuxdocker安装nginx](https://blog.csdn.net/weixin_49796164/article/details/123799636)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值