我建立了一个要在其中部署角度应用程序的环境。为了获得有关docker和jenkins的一些经验,我尝试同时使用两者。目前,我可以将Angular应用程序部署在Docker容器中。
我无法工作的是通过Jenkins部署此容器。 我正在尝试执行以下操作:
这些是我目前在jenkins中设置的构建命令:
docker build -t angular-docker .
docker run -d -p 80:80 angular-docker
现在,执行这些命令时,出现“端口已在使用中”错误-这很有意义,因为旧容器已在端口上运行。我不明白的是,我如何告诉jenkins通过关闭旧容器并部署新容器来“覆盖”旧容器。
如果您能指出正确的方向或告诉我我的方法是完全错误的,我将不胜感激。我对此很陌生,所以很可能是这种情况。谢谢! 我正在努力弄清楚该怎么做。
答案 0 :(得分:1)
首先,为容器命名是一个好习惯:
docker build -t angular-docker .
docker run -d -p 80:80 --name angular-app angular-docker
然后您应该先运行此程序,然后再尝试安装新版本
docker rm -f angular-app
在干净的情况下执行此操作,否则由于未命名旧容器,您将遇到相同的问题。
希望这可以为您解决。