目录
7.1.1 重新加载daemon.json文件重启docker
1.简介
由于公司项目每次都是需要自己手动打包,而且随着服务的不断扩展,应对docker容器化部署让我显得有心无力,不得不部署一套流水线用来一键部署项目
于是乎,想要搭建一个比较完善的流水线,首先镜像仓库是必不可少的
镜像仓库选择Harhor
2.官网下载 Harbor
官方文档: Harbor docs | Harbor 2.4 Documentation
准备:
1.安装好docker和docker-compose
2.1 解压文件
tar xzvf harbor-online-installer-version.tgz
2.2 更改harhor.yml配置文件
可参考 Harbor docs | Configure the Harbor YML File
1.更改hsotname
2.可以先注释掉https监听
3. 配置安装
# 执行脚本安装
sh install.sh
4. 常见安装问题
4.1. 未安装docker
解决方案:先更新yum包然后安装docker
4.2. 无法连接到docker守护线程
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
解决方案:
设置开机启动docker
[root@ harbor]# systemctl start docker
[root@ harbor]# systemctl enable docker
5. 访问harbor服务
通过在harbor.yml文件中配置的hostname访问
用户名:admin
密码: Harbor12345
6.创建测试账号
6.1 创建两个账号
这里创建两个账号主要是测试两个账号的权限
7.登陆harbor创建并推送镜像
7.1 登陆harbor
# 登陆harbor 替换成自己的域名
docker login http://you.domain/
出现拒绝连接,很显然tcp网络通信端口443我把注释掉了
问题原因:
docker login在默认情况下是采用https协议,所以我们应该将选项insecure-registry添加到docker的配置文件中。
打开/etc/docker/daemon.json,添加如下内容
{
"insecure-registries":["hhmt-harhor.yoqu.net"]
}
7.1.1 重新加载daemon.json文件重启docker
systemctl daemon-reload
systemctl restart docker
7.1.2 安装 docker-compose
yum -y install docker-compose
更新后daemon.json
,必须重新启动 Docker Engine 和 Harbor。
# 重启 Docker 引擎。
systemctl restart docker
# 停止harbor
docker-compose down -v
# 重启harbor
docker-compose up -d
此时已经可以正常登陆了(域名决定不打马赛克了..)
docker login hhmt-harhor.yoqu.net
原文参考:使用Harbor搭建Docker私有仓库并建立访问(http与https自签名方式)_echos2019的博客-CSDN博客
官方文档:Harbor docs | Run the Installer Script
8.项目处理
8.1 制作镜像
1.制作Dockerfile文件
FROM ascdc/jdk8
MAINTAINER huachun
EXPOSE 9527
COPY ./delivery-0.0.1-SNAPSHOT.jar /data
ADD delivery-0.0.1-SNAPSHOT.jar delivery-0.0.1-SNAPSHOT.jar
ENTRYPOINT ["java","-jar","delivery-0.0.1-SNAPSHOT.jar"]
ENV TZ=Asia/Shanghai
参考:使用docker部署springboot项目服务_hauchun的博客-CSDN博客
2.构建镜像
此时可以看到刚刚构建好的镜像
8.2 推送镜像
1.先打标签
2.推送镜像到harbor
此时在Harbor上面已经可以看到刚刚推送的镜像
8.3 拉取镜像
我这边有四台服务器,所以选择换一台服务器拉取镜像并运行服务
这台服务器上docker容器是没有任何镜像的
复制拉取命令
docker pull hhmt-harhor.yoqu.net/delivery-ocpx/springboot-delivery:0.0.1
拉取成功后
接下来运行容器并访问服务试一试
此时运行在容器的镜像服务已经启动成功了
官方文档:Harbor docs | Preheat Images
6. 常用操作
# 重启 Docker 引擎
systemctl restart docker
# 停止Harbor
docker-compose down -v
# 重启Harbor
docker-compose up -d
此时已经停止了harbor服务。
7.启动和停止
# 启动
docker-compose start
# 停止
docker-comose stop
# 重启
docker-compose restart
原文参考:Harbor部署_脚丫先生的博客-CSDN博客_harbor部署
8.常见问题
8.1 http方式无法访问
问题详情: http: server gave HTTP response to HTTPS client
解决方法:
vim /etc/docker/daemon.json
修改daemon.json文件
{
"insecure-registries":["域名:端口号"]
}
原文参考:Http: server gave HTTP response to HTTPS client 解决方法_兔子不会武功的博客-CSDN博客