通过Jenkins部署dockerized Angular应用程序时遇到问题

时间:2019-04-04 07:10:46

标签: angular docker jenkins continuous-integration dockerfile

我建立了一个要在其中部署角度应用程序的环境。为了获得有关docker和jenkins的一些经验,我尝试同时使用两者。目前,我可以将Angular应用程序部署在Docker容器中。

我无法工作的是通过Jenkins部署此容器。 我正在尝试执行以下操作:

  1. Jenkins在git repo中检测到更改时,构建一个新的docker容器。
  2. 关闭旧容器(只有那个)。
  3. 部署新容器。

这些是我目前在jenkins中设置的构建命令:

docker build -t angular-docker .
docker run -d -p 80:80 angular-docker

现在,执行这些命令时,出现“端口已在使用中”错误-这很有意义,因为旧容器已在端口上运行。我不明白的是,我如何告诉jenkins通过关闭旧容器并部署新容器来“覆盖”旧容器。

如果您能指出正确的方向或告诉我我的方法是完全错误的,我将不胜感激。我对此很陌生,所以很可能是这种情况。谢谢! 我正在努力弄清楚该怎么做。

1 个答案:

答案 0 :(得分:1)

首先,为容器命名是一个好习惯:

docker build -t angular-docker .
docker run -d -p 80:80 --name angular-app angular-docker

然后您应该先运行此程序,然后再尝试安装新版本

docker rm -f angular-app

在干净的情况下执行此操作,否则由于未命名旧容器,您将遇到相同的问题。

希望这可以为您解决。