<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: mushroomlb</title>
    <description>The latest articles on DEV Community by mushroomlb (@mushroomlb).</description>
    <link>https://dev.to/mushroomlb</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F345463%2Ff8ea56c2-2be3-49c8-b5cf-fa6b492ae425.png</url>
      <title>DEV Community: mushroomlb</title>
      <link>https://dev.to/mushroomlb</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mushroomlb"/>
    <language>en</language>
    <item>
      <title>jenkins docker nginx proxy run</title>
      <dc:creator>mushroomlb</dc:creator>
      <pubDate>Thu, 15 Apr 2021 05:20:08 +0000</pubDate>
      <link>https://dev.to/mushroomlb/jenkins-docker-nginx-proxy-run-1iia</link>
      <guid>https://dev.to/mushroomlb/jenkins-docker-nginx-proxy-run-1iia</guid>
      <description>&lt;h2&gt;
  
  
  1 前提
&lt;/h2&gt;

&lt;p&gt;linux环境&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;docker运行环境&lt;/li&gt;
&lt;li&gt;nginx运行环境&lt;/li&gt;
&lt;li&gt;准备maven安装目录放到/opt/jenkins_docker/maven3&lt;/li&gt;
&lt;li&gt;新建宿主机映射目录 /opt/jenkins_docker&lt;/li&gt;
&lt;li&gt;准备nodejs安装目录放到  /opt/jenkins_docker/node-v14.16.1
## 2 docker运行
 docker方式运行命令如下：
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;docker run -d -p 28080:8080 --restart=always \
-p 10241:50000 \
-v /opt/jenkins_docker:/var/jenkins_home \
-v /etc/localtime:/etc/localtime:ro \
-v /opt/jenkins_docker/maven3:/usr/local/maven3  \
-e TZ=Asia/Shanghai \
-v /var/run/docker.sock:/var/run/docker.sock \
-v $(which docker):/usr/bin/docker \
-v /opt/jenkins_docker/node-v14.16.1:/usr/local/nodejs \
--name myjenkins jenkins/jenkins
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;各个参数的含义：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;-d 后台运行&lt;/li&gt;
&lt;li&gt;-p 28080:8080 对外暴露28080端口，防止端口冲突&lt;/li&gt;
&lt;li&gt;--restart=always 在容器停止运行的时候，重启容器。用于开机自启和容器意外关闭时的自启动&lt;/li&gt;
&lt;li&gt;-v /opt/jenkins_docker:/var/jenkins_home 将宿主机的 /home/jenkins-data 目录挂载到 /opt/jenkins_docker&lt;/li&gt;
&lt;li&gt;-v /etc/localtime:/etc/localtime:ro 保证docker中的时区和宿主机一致&lt;/li&gt;
&lt;li&gt;-e TZ=Asia/Shanghai  保证docker中的时区和宿主机一致&lt;/li&gt;
&lt;li&gt;-v /opt/jenkins_docker/maven3:/usr/local/maven3  maven&lt;/li&gt;
&lt;li&gt;-v /var/run/docker.sock:/var/run/docker.sock  容器与Docker守护进程通信&lt;/li&gt;
&lt;li&gt;-v $(which docker):/usr/bin/docker  容器与Docker守护进程通信&lt;/li&gt;
&lt;li&gt;-v /opt/jenkins_docker/node-v14.16.1:/usr/local/nodejs nodejs运行目录映射&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  3 nginx代理
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  location / { 
    # 反向代理到 gitlab 内置的 nginx 
    proxy_pass http://10.19.42.165:28080; 
    proxy_set_header Host $Host:8080; 
    proxy_set_header X-Real-IP $remote_addr; 
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
  }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  4 配置全局环境
&lt;/h2&gt;

&lt;p&gt; jenkins 镜像中已经包含了jdk和git，在配置jenkins全局环境需要把路径找出来，配置下路径即可&lt;/p&gt;

&lt;p&gt;先进入 jenkins 的容器中&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;docker exec -it jenkins容器id /bin/bash
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;jdk&lt;/p&gt;

&lt;p&gt;echo $JAVA_HOME&lt;br&gt;
路径在/usr/local中，然后配置进 jenkins 的 JAVA_HOME 中即可&lt;/p&gt;

&lt;p&gt;git&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;which git
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;文件路径为/usr/bin/git，把这个复制到 jenkins 路径中&lt;/p&gt;

&lt;p&gt;mvn 在运行时已经指定&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/usr/local/maven3
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;dokcer 在运行时已经指定&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/usr/bin/docker
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;nodejs 在运行时已经指定&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/usr/local/nodejs
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>jenkins</category>
    </item>
  </channel>
</rss>
