Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker 詹金斯在nginx后面(码头工人)_Docker_Nginx_Jenkins - Fatal编程技术网

Docker 詹金斯在nginx后面(码头工人)

Docker 詹金斯在nginx后面(码头工人),docker,nginx,jenkins,Docker,Nginx,Jenkins,我有一个nginx容器,具有以下位置和上游配置: upstream jenkins-docker { server jenkins:8080 fail_timeout=0; } # configuration file /etc/nginx/conf-files/jenkins-location.conf: location /jenkins/ { sendfile off; proxy_pass http://jenkins-docker; proxy_redi

我有一个nginx容器,具有以下位置和上游配置:

upstream jenkins-docker {
  server jenkins:8080 fail_timeout=0;
}


# configuration file /etc/nginx/conf-files/jenkins-location.conf:
location /jenkins/ {
sendfile off;
  proxy_pass         http://jenkins-docker;
  proxy_redirect     off;
  proxy_http_version 1.1;

  proxy_set_header   Host              $host;
  proxy_set_header   X-Real-IP         $remote_addr;
  proxy_set_header   X-Forwarded-For   $proxy_add_x_forwarded_for;
  proxy_set_header   X-Forwarded-Proto $scheme;
  proxy_max_temp_file_size 0;

  #this is the maximum upload size
  client_max_body_size       10m;
  client_body_buffer_size    128k;

  proxy_connect_timeout      90;
  proxy_send_timeout         90;
  proxy_read_timeout         90;
  proxy_request_buffering    off; # Required for HTTP CLI commands in Jenkins > 2.54
}
詹金斯也在一个码头集装箱里。它们都连接到docker桥网络。在nginx容器内,我可以做:

curl jenkins:8080:

<html><head><meta http-equiv='refresh' content='1;url=/login?from=%2F'/><script>window.location.replace('/login?from=%2F');</script></head><body style='background-color:white; color:white;'>


Authentication required
<!--
You are authenticated as: anonymous
Groups that you are in:

Permission you need to have (but didn't): hudson.model.Hudson.Read
 ... which is implied by: hudson.security.Permission.GenericRead
 ... which is implied by: hudson.model.Hudson.Administer
-->

</body></html> 

当我这样做时,我可以使用myIp/jenkis访问jenkins dashboar。但是当我点击菜单项时,我得到一个404命令,您还需要在jenkins安装上设置
--prefix
命令。您可以在
jenkins.xml
配置文件中执行此操作,或者通过更改命令行参数以包括
--prefix=/jenkins


参数可以在

中看到。您还需要在jenkins安装上设置
--prefix
命令。您可以在
jenkins.xml
配置文件中执行此操作,或者通过更改命令行参数以包括
--prefix=/jenkins


参数可以在

中看到,设置如下环境变量:
JENKINS\u OPTS=“--prefix=/JENKINS”

如果您使用的是docker compose,则如下所示:

environment:
  - JENKINS_OPTS="--prefix=/jenkins"

设置如下所示的环境变量:
JENKINS\u OPTS=“--prefix=/JENKINS”

如果您使用的是docker compose,则如下所示:

environment:
  - JENKINS_OPTS="--prefix=/jenkins"

您的意思是更改位置配置吗?如果您更改了任何配置,请尝试从jenkins的磁盘重新加载。是的,我在nginx中更改了位置配置。我编辑我的问题你能粘贴你在jenkins配置中更改的内容吗?在jenkins->管理jenkins->在“jenkins位置”下配置系统中,我将“jenkins URL”更改为我所更改的全部内容。你是说你更改了位置配置吗?如果你更改了任何配置,请尝试从jenkins磁盘重新加载我重新启动了jenkins。是的,我在nginx中更改了位置配置。我编辑我的问题你能粘贴你在jenkins配置中所做的更改吗?在jenkins->manage jenkins->Configure System的“jenkins Location”下,我将“jenkins URL”更改为这就是我更改的全部内容我在docker容器中如何执行此操作?我找不到我在docker的run命令中添加的jenkins.xml文件--env jenkins_ARGS=“--prefix=/jenkins”。但还是不行我在docker容器里是怎么做的?我找不到我在docker的run命令中添加的jenkins.xml文件--env jenkins_ARGS=“--prefix=/jenkins”。但仍然不起作用