docker-compose 部署 Jenkins

2022-10-04 14:18:15 浏览数 (1)

我司的生产环境由两个网段,一个网段(10.12.x.x)可以出外网,另一个网段(10.14.x.x)不能出外网。 jenkins是部署在10.14网段上,由于该网段不能联网,所以需要配置代理,由10.12网段代理出去。

使用的工具

配置 gost 代理

在10.12.x.x网段其中一台机器上下载gost工具,执行如下命令启动代理

代码语言:javascript复制
# 下载地址
https://github.com/go-gost/gost/releases

# 解压启动
./gost-linux-amd64-2.11.4 -L test:123456@0.0.0.0:8888

配置代理

代码语言:javascript复制
# 配置 docker 代理
mkdir /etc/systemd/system/docker.service.d
vim /etc/systemd/system/docker.service.d/proxy.conf
[Service]
Environment="HTTP_PROXY=http://10.12.x.x:8888/"
Environment="HTTPS_PROXY=http://10.12.x.x:8888/"

systemctl daemon-reload
systemctl start docker

# 配置全局代理
如果要永久生效,请添加到/etc/profile 文件中
export http_proxy=http://test:123456@10.12.x.x:8888
export https_proxy=http://test:123456@10.12.x.x:8888

上面代理配置完后,可以使用 yum 命令,也可以使用 docker pull 镜像,但是在 jenkins 中无法下载插件,如果要在 jenkins 中下载插件,需要配置 ssh 端口映射

ssh 端口映射配置

docker-compose.yml

代码语言:javascript复制
version: "3.7"
  
services:
  jenkins:
    image: jenkins:2.371-jdk11
    container_name: jenkins
    hostname: jenkins
    restart: always
    user: root

    volumes:
      - /data/jenkins_home:/var/jenkins_home
      - /etc/localtime:/etc/localtime
      - /var/run/docker.sock:/var/run/docker.sock
      - /usr/bin/docker:/usr/bin/docker
      - /root/.ssh:/root/.ssh
      - /usr/local/node:/usr/local/node
      - /usr/local/maven:/usr/local/maven
      - /usr/local/jdk:/usr/local/jdk

    ports:
      - 8080:8080
      - 50000:50000

    environment:
      - JAVA_OPTS="-Duser.timezone=Asia/Shanghai"
      - TZ=Asia/Shanghai

0 人点赞