有没有办法将网络和绑定端口分配给 Jenkins 中的 docker 代理?

时间:2021-02-16 18:40:03

标签: docker jenkins containers agent

我有下一个设置:

  • 一个亚马逊 EC2 实例;
  • Jenkins 安装在其上;
  • Docker 实例与 Jenkins 一起安装

当我启动容器(在管道脚本中)时,我还尝试添加主机网络和绑定端口。

node {
    docker.image('localhost:5000/build_deploy_agent:base').withRun('-t --network host -p 9101:9101') { c ->
        sh 'doing stuff'
    }
}

我需要这个,因为最后我希望通过部署的应用程序保持容器处于活动状态。

问题是,没有为容器分配网络或端口。仅考虑 -t 命令。

enter image description here

有没有办法做到这一点,否则我会浪费时间?

1 个答案:

答案 0 :(得分:1)

首先通过检查检查网络是否可见,而不仅仅是form: FormGroup; constructor(private formBuilder: FormBuilder) { this.form = this.formBuilder.group({}) }
见“How to find the network my container is in?

docker ps

或者您可以再次filter docker ps by network检查容器是否已分配给预期的网络。

您还可以通过 docker inspect <lyContainer> -f "{{json .NetworkSettings.Networks }}" 之类的 Jenkins 步骤 check your network stack 查看是否创建了新的网络接口。

相关问题