CICD持续集成,利用Jenkins自动化构建发布Docker容器【Docker、Harbor仓库】(二)
Docker容器篇目录一、部署Docker容器1.部署Docker2.测试使用Dockerfile制作微服务镜像①编写Dockerfile②构建镜像③查看镜像④创建容器docker run -i --name=eureka -p 10086:10086 eureka:v1⑤访问二、部署Harbor仓库1.安装docker-compose2.安装Harbor三、Harbor创建用户和项目1.创建项目
Docker容器篇
目录
④创建容器docker run -i --name=eureka -p 10086:10086 eureka:v1
一、部署Docker容器
1.部署Docker
Jenkins服务器、Harbor服务器、生产服务器部署docker
这边我是直接使用脚本,直接安装Docker,脚本内容入下:
#!/bin/bash
yum install -y yum-utils device-mapper-persistent-data lvm2
cd /etc/yum.repos.d
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sleep3
yum install -y docker-ce
systemctl start docker
systemctl enable docker
echo "{
\"registry-mirrors\": [\"这里面的内容请自行去阿里云注册加速器"]
}" > /etc/docker/daemon.json
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
sysctl -p
systemctl restart network
systemctl daemon-reload
systemctl restart docker
2.测试使用Dockerfile制作微服务镜像
mkdir test
cd test/
vim Dockerfile
①编写Dockerfile
FROM openjdk:8-jdk-alpine
ARG JAR_FILE
COPY ${JAR_FILE} app.jar
EXPOSE 10086
ENTRYPOINT ["java","-jar","/app.jar"]
上传jar包到test目录里
②构建镜像
docker build --build-arg JAR_FILE=tensquare_eureka_server-1.0-SNAPSHOT.jar -t eureka:v1 .

③查看镜像
docker images

④创建容器
docker run -i --name=eureka -p 10086:10086 eureka:v1

⑤访问
访问的是当前服务器的ip地址

二、部署Harbor仓库
在harbor仓库服务器上部署,需提前安装好docker,上面有脚本
1.安装docker-compose
cd /usr/local/bin
上传docker-compose
chmod +x /usr/local/bin/docker-compose
查看docker-compose是否安装成功
docker-compose -version
![]()
2.安装Harbor
上传harbor压缩包并解压,这边使用的版本是1.9.2
tar xf harbor-offline-installer-v1.9.2.tgz
mkdir /opt/harbor
mv harbor/* /opt/harbor
cd /opt/harbor
修改Harbor的配置
vim harbor.yml
修改hostname和port
hostname:192.168.72.16
port:85

安装harbor
./prepare

./install.sh

启动harbor
docker-compose up -d 启动
docker-compose stop 停止
docker-compose restart 重新启动

访问harbor
默认账户:admin
默认密码:Harbor12345

三、Harbor创建用户和项目
1.创建项目
Harbor的项目分为公开和私有的:
公开项目:所有用户都可以访问,通常存放公共的镜像,默认有一个library公开项目。 私有项目:只有授权用户才可以访问,通常存放项目本身的镜像。
为微服务创建新项目:



2.创建用户



3.分配项目给用户



|
角色 |
权限说明 |
|
访客 |
对于指定项目拥有只读权限 |
|
开发人员 |
对于指定项目拥有读写权限 |
|
维护人员 |
对于指定项目拥有读写权限,创建 Webhooks |
|
项目管理员 |
除了读写权限,同时拥有用户管理/镜像扫描等管理权限 |

harbor仓库部署完成
4.Jenkins推送镜像配置
在Jenkins服务器上配置docker信任列表
vim /etc/docker/daemon.json

保存后重启Docker即可为之后的镜像推送到Harbor仓库中
注意:生产服务器也需要部署Harbor仓库地址,否则后期拉不下来镜像
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)