Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.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
如何自定义Jenkins docker容器的URL?_Docker_Jenkins - Fatal编程技术网

如何自定义Jenkins docker容器的URL?

如何自定义Jenkins docker容器的URL?,docker,jenkins,Docker,Jenkins,我已经在我的系统中安装了jenkins docker,并且能够使用本地主机url访问jenkins控制台,如http://localhost:8080. 现在,我想和一群人分享这个URL。有人建议配置的步骤。我不确定您的Jenkins配置,因为您没有共享一个。因此,这就是您如何启动一个新的Jenkins服务,网络上的其他人可以通过Nginx访问该服务 我们将利用和促进这一进程。我们使用的是官方的照片和照片 创建包含所需配置文件的文件夹: mkdir~/jenkins-docker cd~/j

我已经在我的系统中安装了jenkins docker,并且能够使用本地主机url访问jenkins控制台,如http://localhost:8080.


现在,我想和一群人分享这个URL。有人建议配置的步骤。

我不确定您的Jenkins配置,因为您没有共享一个。因此,这就是您如何启动一个新的Jenkins服务,网络上的其他人可以通过Nginx访问该服务

我们将利用和促进这一进程。我们使用的是官方的照片和照片

  • 创建包含所需配置文件的文件夹:
mkdir~/jenkins-docker
cd~/jenkins docker
touch docker-compose.yml
触摸nginx.conf
  • 为Jenkins创建一个主目录:
mkdir~/jenkins
  • 创建Jenkins和Nginx docker compose服务(docker-compose.yml文件内容):
版本:“3”
服务:
詹金斯:
图片:詹金斯
集装箱名称:詹金斯
特权:真的
用户:root
卷数:
-~/jenkins:/var/jenkins\u home
重新启动:始终
端口:
- 8080:8080
网络:
-詹金斯内特
服务器:
图片:nginx:1.17.2
容器名称:nginx
卷数:
-./nginx.conf:/etc/nginx/nginx.conf#您的nginx配置文件
-/var/log/nginx:/var/log/nginx#日志文件
重新启动:始终
命令:nginx debug-g'daemon off;'
端口:
- 8000:80
网络:
-詹金斯内特
取决于:
-詹金斯
网络:
詹金斯网:
  • 创建一个Nginx配置,使Jenkins可以在网络上访问(Nginx.conf文件内容)
  • 运行您的服务:
cd~/jenkins-docker
码头工人整理
  • http://localhost:8080

  • http://local-ip-address:8000
    (例如:
    http://192.168.1.23:8000

  • 从连接到internet的其他设备访问Jenkins
    http://public-ip-address:8000
    (例如:
    http://56.137.222.112:8000
    )(如果您在家庭网络上进行设置,则需要端口转发。如果您使用云提供商,则允许您的实例访问端口
    8000

进一步解释 我们正在发射两个docker集装箱。
jenkins
容器包含一个jenkins安装,可在容器中的端口
8080
上访问。因此,我们在
jenkins
服务配置中发布了该端口,以便我们可以通过以下方式从主机访问该端口:

端口:
8080:8080
nginx
容器包含一个反向代理服务器,该服务器允许您通过将某个端口上的所有传入流量路由到Jenkins服务器来访问该服务器

为了让
nginx
服务将流量路由到
jenkins
服务,我们创建并为这些服务分配一个网络:

#网络创建:
网络:
詹金斯网:
#网络分配:
网络:
-詹金斯内特
当两个容器属于同一网络时,我们可以使用容器名称作为主机名。因此,可以使用
jenkins:1234
nginx
容器访问
localhost:1234
。因此,在
nginx.conf
文件中,我们使用以下方法将所有进入nginx的流量路由到Jenkins服务器:

location / {
    proxy_pass http://jenkins:8080;
}
Nginx正在侦听端口
80

server {
    listen 80;
...etc
因此,我们将端口发布到主机,以便Nginx能够接收传入的请求:

端口:
- 8000:80

我选择了端口
8000
,但您可以使用任何您喜欢的端口。

您好。请检查:这可能是一个重复的问题。无论如何,我建议使用一个代理,比如非常感谢你的详细解释。
server {
    listen 80;
...etc