Docker远程访问、集成Maven插件、搭建私有库Harbor、安装Jenkins、安装Ansible

   日期:2024-12-26    作者:xhb273511 浏览:61    移动:http://w.yusign.com/mobile/quote/6826.html

准备两、三台服务器,都已配置好Docker环境,一台用来部署Jenkins,一台用来部署业务系统(即我们要发布的项目
一台用安装Docker私有库(我的是把私仓库放在部署业务系统发布的服务器上面,所以只使用了两台服务器

1,检测服务器上Docker安装是否成功
2,Docker开启远程访问
3,客户机配置好DOCKER_HOST环境变量
4,集成Docker+Maven插件
5,搭建Docker私有库Harbor
6,Jenkins搭建
7,Ansible搭建

(1)编辑docker的宿主机文件/lib/systemd/system/docker.service

[root@vultr ~]# vi /lib/systemd/system/docker.service

(2)修改以ExecStart开头的行,改为

ExecStart=
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
如果是centos7以下的话,就把ExecStart修改为
ExecStart=
ExecStart=/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:2375

[root@vultr ~]# systemctl daemon-reload

(4)重启docker服务

[root@vultr ~]# service docker restart

(5)接下来测试一下看是否能连接到docker api。上面的2375就是对应端口

(6)如果看到控制台有数据返回,这里其实就已经成功了,也可以去外网测试一下

说明一下SpringBoot构建Docker镜像有两种方式

1,使用Dockfile文件
2,使用Maven文件pom.xml配置assembly插件实现自定义打包

 

pom.xml文件

 

e,如果项目的jar包没有生成,可能会出现报错,建议先,生成jar包,再打包镜像

在控制台就可以看到输出的信息

[INFO] Building image dockerjarweb:v1
Step 1/7 : FROM openjdk:8u121-jre-alpine

—> 319698b3b71a
Step 2/7 : MAINTAINER esqabc “www.esqabc.com”

—> Running in 026f45794699
Removing intermediate container 026f45794699
—> f9d22e129cd9
Step 3/7 : VOLUME /tmp

—> Running in 63439625af00
Removing intermediate container 63439625af00
—> e175d2a2d2d6
Step 4/7 : RUN cd /home && mkdir apps

—> Running in b72c4220797c
Removing intermediate container b72c4220797c
—> 24e8627b87e1
Step 5/7 : ADD https://blog.csdn.net/esqabc/article/details/90257590/dockerjar.jar /home/apps

—> 12135ce16160
Step 6/7 : EXPOSE 8888

—> Running in baf2d3eb9310
Removing intermediate container baf2d3eb9310
—> f25f0e7a3c18
Step 7/7 : ENTRYPOINT [ “sh”, “-c”, “java -Djava.security.egd=file:/dev/https://blog.csdn.net/esqabc/article/details/90257590/urandom -Duser.timezone=GMT+08 -jar >/home/apps/dockerjar.jar” ]

—> Running in fa8b60d8dc9f
Removing intermediate container fa8b60d8dc9f
—> 19812bb2465b
ProgressMessage{id=null, status=null, stream=null, error=null, progress=null, progressDetail=null}
Successfully built 19812bb2465b
Successfully tagged dockerjarweb:v1
[INFO] Built dockerjarweb:v1
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 07:16 min
[INFO] Finished at: 2019-05-21T11:57:56+08:00
[INFO] ------------------------------------------------------------------------

f,查看是否成功,到服务器执行命令

(2)使用Maven文件pom.xml配置assembly插件实现自定义打包
…后续会慢慢补齐…

步骤:
(1)安装docker ,安装教程地址:https://blog.csdn.net/esqabc/article/details/89881374
(2)安装docker-compose
(3)安装Harbor
(4)修改Harbor配置文件
(5)Harbor启动和停止
(6)配置Harbor支持https访问

====================================================================
(1)安装docker省略…
(2)安装docker-compose(两种方式:pip,二进制文件
下载地址:https://github.com/docker/compose/releases

a.1,安装docker-compose(pip方式):请访问 https://blog.csdn.net/funtaster/article/details/83268974

a.2,安装docker-compose(二进制文件方式

 
 

b,赋予二进制文件可执行权限
[root@VM_161_84_centos compose]# chmod +x /usr/local/bin/docker-compose

(3)安装Harbor

下载页面:https://github.com/goharbor/harbor/releases
下载链接: https://storage.googleapis.com/harbor-releases/release-1.8.0/harbor-offline-installer-v1.8.0.tgz
注意:如果是国内网络,可能出现慢的现象,你下载版本太高与之匹配的Docker版本就要高
例如:Harbor1.8.0:Docker18.09.6 ,不然会出现版本不匹配的错误。

[root@test tools]# wget https://storage.googleapis.com/harbor-releases/release-1.8.0/harbor-offline-installer-v1.8.0.tgz

复制文件到

[root@test tools]# cp harbor-offline-installer-v1.8.0.tgz /usr/local/

进入目录

[root@test tools]# cd /usr/local/

Docker远程访问、集成Maven插件、搭建私有库Harbor、安装Jenkins、安装Ansible

解压

[root@test local]# tar -zxvf harbor-offline-installer-v1.8.0.tgz

(4)修改Harbor配置文件
进入harbor目录

[root@test local]# cd harbor

因为1.8.0以上的版本,没有了harbor.cfg配置文件,全部配置改成harbor.yml文件

[root@test harbor]# vi harbor.yml
hostname: 192.168.0.1 ====== > hostname:你服务器的IP
port:8099 ====== > port:你服务器的开放的端口
harbor_admin_password = Harbor12345 ====== > harbor_admin_password :你密码

 
 

如果是其它版本请按照下面的配置
编辑配置文件( harbor.cfg

[root@test harbor]# vi harbor.cfg
文件内容
Configuration file of Harbor
hostname设置访问地址,可以使用ip、域名,不可以设置为127.0.0.1或localhost,此处我设置为我私仓库服务器的IP
hostname = ip
Harbor启动后,管理员UI登录的密码,默认是Harbor12345
harbor_admin_password = Harbor12345
认证方式,这里支持多种认证方式,如LADP、本次存储、数据库认证。默认是db_auth,mysql数据库认证
auth_mode = db_auth
是否开启自注册
self_registration = on
Token有效时间,默认30分钟
token_expiration = 30

(5)Harbor启动和停止

查看Harbor依赖的镜像及启动服务如下

查看compose状态(此命令在harbor目录下执行

[root@test harbor]# docker-compose down -v

启动Harbor服务,执行命令

其它的Harbor命令有:docker-compose start | stop | restart

[root@VM_161_84_centos ~]# docker-compose start
[root@VM_161_84_centos ~]# docker-compose stop
[root@VM_161_84_centos ~]# docker-compose restart

(6)我们在本地登录试一试:
a,输入登录命令

[root@docker_t ~]# docker login 192.168.0.77:8888
如果出现
[root@docker_t ~]# docker login 192.168.0.77:8888
Username: admin
Password:
Error response from daemon: Get https://192.168.0.77:8888/v2/: http: server gave HTTP response to HTTPS client
解决方法
在”/etc/docker/“目录下,创建”daemon.json“文件(如果有的话直接覆盖)
[root@docker_t ~]# cd /etc/docker/
[root@docker_t docker]# touch daemon.json
[root@docker_t docker]# vi daemon.json
添加下面的JSON

 

重启Harbor服务

[root@test harbor]# docker-compose restart

搭建私仓库也可以看看这篇博客:https://blog.csdn.net/weixin_41465338/article/details/80146218?utm_source=blogxgwz0
或者:https://www.cnblogs.com/pangguoping/p/7650014.html
或者:https://www.cnblogs.com/kevingrace/p/6547616.html
(8)配置Harbor支持https访问
a,生成ca证书

b,获得服务器证书

c,修改v3.ext文件

[root@VM_161_84_centos certs]# cat > v3.ext <<-EOF
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth
subjectAltName = @alt_names

d,生成harbor仓库主机的证书

e,复制文件(server.crt和server.key到/data/cert

[root@VM_161_84_centos ~]# mkdir /data/cert
[root@VM_161_84_centos ~]# cp /usr/local/certs/server.crt /data/cert/
[root@VM_161_84_centos ~]# cp /usr/local/certs/server.key /data/cert/

f,修改harbor配置文件,如果是1.8.0+以上就修改:harbor.yml,如果是其它版本就修改:harbor.cfg

g,重启harbor

h,客户端配置harbor认证

创建存放域名证书的目录
[root@VM_161_84_centos ~]# mkdir -p /etc/docker/certs.d/192.168.0.1
[root@VM_161_84_centos ~]# cp /data/cert/server.crt /etc/docker/certs.d/192.168.0.1/
[root@VM_161_84_centos ~]# systemctl restart docker

在浏览器输入:https://192.168.0.1:8099 就会显示Harbor的用户界面
有一个要注意的是,如果你的服务器(阿里云,腾讯云,华为云)不支持https协议,请申请好这个协议再试
不然使用:https://192.168.0.1:8099就访问不了,使用:http://192.168.0.1:8099 就可以访问

https配置也可以查看这篇:https://www.cnblogs.com/wzstudy/p/10761636.html

有多种方式
(1)下载Docker镜像
(2)直接下载jenkins.war
(3)Linux直接安装
。。。。。。。
或者查看官方的地址:https://jenkins.io/download/

(1)下载Docker镜像
a,拉取镜像

b,构建镜像(因为需要用root运行jenkins镜像,所以要重新创建授权
请看这篇:https://blog.csdn.net/esqabc/article/details/90204429

[root@localhost tools]# touch Dockerfile

Dockerfile文件内容:

 

c,启动镜像

[root@VM_161_84_centos ~]# sudo docker run -d --name jenkins -p 8888:8080 -p 50000:50000 -u root jenkins:v2.0
或者
[root@VM_161_84_centos ~]# sudo docker run -d --name jenkins -p 8888:8080 -p 50000:50000 -u root
-v /home/tools/jenkins_home:/var/jenkins_home -v /home/tools/apache-maven-3.6.1:/usr/local/maven
-v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker jenkins:v2.0
上面的命令通过-v 将本地maven目录与Jenkins容器内目录关联,方便后面构建任务时要用到

[root@docker_t ~]# docker logs -f jenkins

(3)linux直接安装
准备工具
已经安装好JDK的linux服务器(jdk1.8
a,yum的repo中默认没有Jenkins,需要先将Jenkins存储库添加到yum repos,执行下面的命令

[root@docker_t ~]# wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo

b,然后执行下面的命令,生成key

[root@docker_t ~]# rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key

c,然后 安装Jenkins

d,启动jenkins

f,停止jenkins(使用强力方法

注意
1,如果你想修改其它端口启动,也可以在:/etc/init.d/jenkins 中修改
2,查看日志的地址:/var/log/jenkins/jenkins.log

[root@docker_t ~]# tail -f /var/log/jenkins/jenkins.log

安装前准备
(1)因为ansible是基于python的,所以先检查是否有python,如果没有需要安装(注意版本,版本过低,也可能导致安装失败)。

(2)安装ansible前需要安装依赖包

(3)ansible安装:

(4)是否安装成功,出现下面的就算了安装成功了

本文地址:http://w.yusign.com/quote/6826.html    述古往 http://w.yusign.com/static/ , 查看更多

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关行情
推荐行情
点击排行
{
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  版权声明  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号