目录
- 一、docker配置
- 二、安装docker-compose
- 三、安装harbor
- 四、管理harbor
- 五、springboot项目配置docker
- 六、linux服务器上打包并推送至harbor
- 七、参考
一、docker配置
- 如果docker版本比较老,无法安装Harbor请卸载掉重装
1、卸载之前的docker包
yum list installed|grep docker
# 移除docker相关
yum remove docker-ce.x86_64
2、安装docker
# 安装yum管理工具
yum install -y yum-utils
# 添加阿里云镜像
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 安装docker
yum install docker-ce docker-ce-cli
3、设置开机自启docker并启动docker
# 启动docker
systemctl start docker
# 设置开机启动
systemctl enable docker
4、查看docker版本
docker version
5、也可以将docker镜像仓库添加到/etc/docker/daemon.json文件中
- ustc:https://docker.mirrors.ustc.edu.cn
- 阿里云:https://navyf335.mirror.aliyuncs.com
vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}
二、安装docker-compose
1、下载docker-compose文件
官网地址:https://get.daocloud.io/
curl -L https://get.daocloud.io/docker/compose/releases/download/v2.0.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
2、为docker-compose文件赋予可执行权限
chmod +x /usr/local/bin/docker-compose
3、查看docker-compose版本
docker-compose version
三、安装harbor
1、下载地址
- 官网地址:https://github.com/goharbor/harbor/releases
- 版本:harbor-offline-installer-v2.2.2.tgz
wget https://github.com/goharbor/harbor/releases/download/v2.2.2/harbor-offline-installer-v2.2.2.tgz
2、解压文件
tar -zxvf harbor-offline-installer-v2.2.2.tgz
# 复制配置文件
cp harbor.yml.tmpl harbor.yml
3、修改harbor.yml配置
cd harbor
vim harbor.yml
# 修改如下配置
hostname: 192.168.3.12
http:
port: 1180
harbor_admin_password: Harbor12345
- hostname 这里设置本机的ip
- harbor_admin_password 页面的密码
- 注释掉https部分
4、修改daemon.json文件
- 解决docker login 时,提示https问题
- 添加insecure-registries
vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"],
"insecure-registries":["192.168.3.12:1180"]
}
5、运行/安装
# 创建日志目录,没有该目录无法创建,不知为何
mkdir /var/log/harbor
./install.sh
6、访问页面
http://192.168.3.12:1180
- 帐号admin,密码Harbor12345
7、修改端口
- 如果需要修改端口请按以下操作
vim harbor.yml
# 修改端口
http:
port: 1181
vim /etc/docker/daemon.json
"insecure-registries":["192.168.3.12:1181"]
# 停止服务
docker-compose down
# 重新编译
./prepare
# 重新启动
docker-compose up -d
# 重启docker服务
systemctl daemon-reload
systemctl restart docker
8、其它操作
# 停止
docker-compose stop
# 运行
docker-compose start
# 登录
docker login -uadmin -pHarbor12345 192.168.3.12:1180
四、管理harbor
# linux登录docker
docker login -uadmin -pHarbor12345 192.168.3.12:1180
# 拉取alpine镜像
docker pull alpine
# 给镜像打标签,注意打标签的格式为 镜像仓库名称/项目名/镜像名:版本号
docker tag docker.io/alpine:latest 192.168.3.12:1180/library/alpine:v1.1.2
# 将镜像推送至harbor
docker push 192.168.3.12:1180/library/alpine:v1.1.2
五、springboot项目配置docker
1.创建Dockerfile文件
- 在项目目录下创建该文件
# jdk版本
FROM java:8
# 临时文件目录
VOLUME /tmp
# 把target目录下的jar包添加到容器里,并重命名为app.jar
ADD target/*.jar app.jar
# ENTRYPOINT 执行项目 app.jar。为了缩短 Tomcat 启动时间,添加一个系统属性指向 "/dev/urandom" 作为 Entropy Source.
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
2.修改pom.xml文件
方式一:使用maven里配置帐号密码
192.168.3.12:1180
library
v1.0.1
1.4.10
org.springframework.boot
spring-boot-maven-plugin
org.apache.maven.plugins
maven-resources-plugin
3.1.0
com.spotify
dockerfile-maven-plugin
${docker.maven.plugin.version}
${project.basedir}
true
${docker.repostory}/${docker.registry.name}/${project.artifactId}
${docker.image.tag}
target/${project.build.finalName}.jar
maven配置
192.168.3.12:1180
admin
Harbor12345
方式二:直接在pom文件里配置帐号密码
com.spotify
dockerfile-maven-plugin
${docker.maven.plugin.version}
${docker.repostory}/${docker.registry.name}/${project.artifactId}
${docker.image.tag}
admin
Harbor12345
target/${project.build.finalName}.jar
六、linux服务器上打包并推送至harbor
1、将springboot项目源码复制到服务器
2、maven打包
- 进入项目目录
mvn -U clean install -Dmaven.test.skip=true
3、打包成docker镜
mvn dockerfile:build
4、将docker镜像推送到Harbor仓库
mvn dockerfile:push
5、其它操作
# 查看镜像
docker images
# 启动镜像
docker run -d --name rapid-web2 -p 8081:8089 192.168.3.12:1180/library/rapid-screen:v1.0.1
6、harbor上查看
七、参考
- https://www.cnblogs.com/binghe001/p/12810675.html
- https://www.cnblogs.com/yal950727/p/10909221.html
- https问题:https://www.cnblogs.com/shunzi115/p/14970130.html
- docker升级:https://www.jianshu.com/p/11d4c7f25bb8