docker运行jenkins及vue项目与springboot项目(四.docker运行nginx)

蓝团青      2022-05-18     573

关键词:

docker 运行jenkins及vue项目与springboot项目:

准备配置

创建 /home/docker/nginx/nginx.conf 文件及/home/docker/nginx/log文件夹
其nginx.conf 文件为在原nginx.conf上添加上自定义的一些配置

#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;
    #
     upstream blog {
        server localhost:8089;
        #hash $remote_addr;
        #check interval=3000 rise=2 fall=5 timeout=1000 type=http;
        #check_http_send "HEAD /mwmonitor/check.jsp HTTP/1.0\r\n\r\n";
        # check_http_expect_alive http_2xx http_3xx;
        #                                #keepalive 60;
        #                                        ip_hash;
        }

    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   /var/web/www;
            try_files $uri $uri/ /index.html last;
            index  index.html index.htm;
           # error_page 405 =200 http://$host$request_uri;
        }

        location /blog {
                proxy_pass http://blog;
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        #location ~ \.php$ {
        #    root           html;
        #    fastcgi_pass   127.0.0.1:9000;
        #    fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        #    include        fastcgi_params;
        #}

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}
    }


    # another virtual host using mix of IP-, name-, and port-based configuration
    #
    #server {
    #    listen       8000;
    #    listen       somename:8080;
    #    server_name  somename  alias  another.alias;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}


    # HTTPS server
    #
    #server {
    #    listen       443 ssl;
    #    server_name  localhost;

    #    ssl_certificate      cert.pem;
    #    ssl_certificate_key  cert.key;

    #    ssl_session_cache    shared:SSL:1m;
    #    ssl_session_timeout  5m;

    #    ssl_ciphers  HIGH:!aNULL:!MD5;
    #    ssl_prefer_server_ciphers  on;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}

}
运行命令

若没有镜像则会自动pull镜像
docker run -p 8080:80 -v /home/docker/nginx/nginx.conf:/etc/nginx/nginx.conf -v /home/docker/nginx/log:/var/log/nginx -v /home/docker/jenkins/jenkins_home/www:/var/web/www -d docker.io/nginx
其中:
-p 8080:80 将8080端口映射至docker的80端口
-v /home/docker/nginx/nginx.conf:/etc/nginx/nginx.conf 配置映射:服务器中的nginx配置映射至容器的nginx配置中
-v /home/docker/nginx/log:/var/log/nginx 日志映射
-v /home/docker/jenkins/jenkins_home/www:/var/web/www 网页文件映射:jenkins打包后的web页面文件夹映射至nginx配置的web文件夹(在配置文件中注意更改location /{root /var/web/www; ...})

访问http://192.168.37.136:8080即可看到jenkins打包的git项目后的页面
若出现404 可能为网络不通 其前端nginx访问后端时在docker 中

解决:将nginx.conf中的配置的service地址更换为docker 地址,而非localhost

# 。。。
upstream blog {
        server {docker的ip}:8089;
        #hash $remote_addr;
        #check interval=3000 rise=2 fall=5 timeout=1000 type=http;
        #check_http_send "HEAD /mwmonitor/check.jsp HTTP/1.0\r\n\r\n";
        # check_http_expect_alive http_2xx http_3xx;
        #                                #keepalive 60;
        #                                        ip_hash;
        }
# 。。。

jenkins蓝海项目及slave部署

Master部署yum-config-manager?--add-repohttps://download.docker.com/linux/centos/docker-ce.repoyum-yinstalldocker-cesystemctlenabledockersystemctlstartdockerdockerrun-uroot--rm-d-p8081:8080-p50000:50000-vjenkins-data:/var/jenkins_home-v/var/run/docker.sock:/var/run/docker.sockjenkinsci/blueocean、... 查看详情

devops持续集成开发——jenkins流水线发布一个docker版的前端vue项目(代码片段)

前言本节内容主要介绍如何使用jenkins的流水线发布一个docker版的前端项目。关于本节内容中使用到的jenkins的组件,请参考往期博客内容,自行安装。我们使用NodeJS完成前端项目的编译安装,使用ssh组件完成编译后工... 查看详情

(dockernginx)springboot+vue前后端分离部署详细完整版

...考技术A简述:Springboot+Vue前后端分离项目部署,主要采用docker容器部署方式。Springboot项目部署:docker构建mysql环境+docker构建项目自身环境。Vue项目:使用docker启动nginx服务器方式代理部署。项目使用mysql8.0作为数据源,所以部署... 查看详情

jenkins容器中使用docker

...技术A在项目中要使用jenkins实现自动化CI/CD功能,jenkins以docker容器方式运行,其中项目编译完要以docker方式构建image,上传到harbor私有仓库中。那jenkins容器中就要有docker运行环境以实现dockerbuildimages。我使用的官方的镜像文件jenki... 查看详情

jenkins与docker的自动化ci/cd实战(代码片段)

...持续集成(CI)及持续部署、交付(CD)。本文基于Jenkins+Docker+Git实现一套CI自动化发布流程。一、发布流程设计工作流程:开发人员提交代码到Git版本仓库;Jenkins人工/定时触发项目构建;Jenkins拉取代码、代码编码、打包镜像、... 查看详情

jenkins安装配置与项目新建及构建

1、Jenkins的安装与配置1.1java环境配置Jenkins基于Java, Linux下安装java只要配置java环境变量即可。首先,解压java到相应目录,我一般习惯把安装的软件放到目录/usr/local下。tar-zxvfjdk-6u45-linux-x64.tar.gz/usr/local编辑环境变量,在/etc/p... 查看详情

docker——jenkins+git+registry构建自动化持续集成环境(ci/cd)(代码片段)

...持续集成(CI)及持续部署、交付(CD)。本文基于Jenkins+Docker+GitSvn实现一套CI自动化发布流程,同时支持撤回。  一、发布流程设计工作流程:开发人员提交代码到Git或Svn版本仓库;Jenkins人工/定时触发项目构建;Jenkins拉... 查看详情

jenkins+docker一键自动化部署springboot项目

本文章实现最简单全面的​​Jenkins+docker+springboot​​ 一键自动部署项目,步骤齐全,少走坑路。环境:centos7+git(gitee)简述实现步骤:在docker安装jenkins,配置jenkins基本信息,利用Dockerfile和shell脚本实现项目自动拉取打包并运... 查看详情

客快物流大数据项目:docker与虚拟机的形象比喻及组件介绍

目录Docker与虚拟机的形象比喻及组件介绍一、Docker与虚拟机的形象比喻1、什么是物理机2、什么是虚拟机3、什么是docker二、Docker组件1、Docker服务端和客户端2、Docker构架Docker与虚拟机的形象比喻及组件介绍一、Docker与虚拟机的形... 查看详情

docker:理解docker镜像与容器

...在另一个磁盘上存在完全相同的副本即为镜像。  2、Docker镜像概念:    在Docker中镜像同样是一种完全相同的副本,以广泛的镜像来理解就很简单了,Docker虽然在Linux系统中,但是内部又完全和Linux系统隔开。所以我们可... 查看详情

jenkins环境搭建-下载与安装(代码片段)

...易于安装部署配置:可通过yum安装,或下载war包以及通过docker容器等快速实现安装部署,可方便web界面配置管理;消息通知及测试报告:集成RSS/E-mail通过RSS发布构建结果或当构建完成时通过e-mail通知,生成JUnit/TestNG测试报告;分... 查看详情

devops持续集成开发——jenkins流水线发布一个docker版的后端maven项目

前言本节内容我们使用jenkins的流水化工具发布一个后端docker项目,实现后端项目的容器化部署。在开始本节内容之前,我们需要在生产环境安装好docker环境并且能够联网下载镜像。通过jenkins的流水化工具,实现代码... 查看详情

docker运行nodejs及调试

参考技术A首先在项目根目录下添加Dockerfile文件(这里我选用的是简单地nestjs作为例子)在项目根目录下添加docker-compose.yml在项目根目录下添加nodemon-docker-debug.json在package.json中加入docker运行命定及nodejsdebug命定1.首先运行yarndocker(np... 查看详情

无法让 Docker 在 Docker 之外与 ECS 中的 Jenkins 一起工作

】无法让Docker在Docker之外与ECS中的Jenkins一起工作【英文标题】:Can\'tgetDockeroutsideofDockertoworkwithJenkinsinECS【发布时间】:2019-06-1918:14:04【问题描述】:我正在尝试将JenkinsDocker映像部署到ECS并让docker-compose在我的管道内工作。为了... 查看详情

svn+jenkins+docker发布java项目(maven)

...触发器3.4、构建环境3.4.1、打包3.4.2、执行shell,本地编译docker 查看详情

jenkins与docker的自动化ci/cd实战(代码片段)

...代码、代码编码、打包镜像、推送到镜像仓库;Jenkins在Docker主机创建容器并发布。环境规划如下:角色IPGit/Registry192.168.56.11Docker192.168.56.12Jenkins/Docker192.168.56.13 查看详情

基于docker环境下的jenkins搭建及使用(代码片段)

...机而言,容器不仅部署方便,且占用资源较少。Docker作为目前作为业内最火的一个容器解决方案之一,通过将两者结合,从而实现服务的轻量化,并通过Docker管理Jenkins的资源。下面通过Docker部署Jenkins、Jenkins... 查看详情

实战docker+jenkins+git构建持续集成环境(代码片段)

本文重点介绍jenkins以及让jenkins如何实现在docker容器中运行。jenkins和docker私有仓库又是怎么结合的。docker说明及安装和git说明及安装在本文中不会特别详细的介绍。?并且,在本文中不着重介绍原理性的东西,比如不会介绍什么... 查看详情