DevOps运维实战---jenkins 自动化生成镜像并推送到harbor服务器

这个内容就比较简单了。

之前我们的流程是直接发送 docker-compose命令去编排生成,运行。

在这一节,我们的目的是docker build 生产镜像,然后推送到docker 镜像服务器,然后下一节我们在目的服务器运行sh 文件抓取镜像并且运行。

DevOps运维实战---jenkins 自动化生成镜像并推送到harbor服务器_第1张图片

在构建里面操作。ssh exec command。

cd /usr/local/docker/jenkins_docker/data/workspace/mytest
docker build -t mytest:$tag .

这里我们生成了一个镜像。至于dockerfile 文件和前面保持一致,这里我们删除掉docker-compose 文件了

docker login -u admin -p Harbor12345 192.168.0.51:80
docker tag mytest:$tag 192.168.0.51:80/repo/mytest:$tag
docker push 192.168.0.51:80/repo/mytest:$tag

这里我们登陆harbor 服务器,然后把我们的镜像推送到harbor 服务器。

这里有个需要注意的地方,我们拉取的镜像是要jenkins 容器里面操作的,所以我们需要jenkins 容器能够使用宿主机器的docker,这个地方很重要:

cd /var/run 下面的这个文件 Docker.sock ,把它修改为root :root 并且读写权限。

chown root:root docker.sock

Chmod o+rw docker.sock

修改jenkins 的 docker-compose.yml 文件
加3个 文件映射
- /var/run/docker.sock:/var/run/docker.sock
-/usr/bin/docker:/usr/bin/docker
-/etc/docker/daemon.json:/etc/docker/daemon.json

你可能感兴趣的:(DevOps,运维实战,jenkins,Docker,jenkins,devops,运维)